2013-02-21 91 views
1

我想减去两个日期,并得到HHHH:MM:SS时的小时数可能会大于24减去SQL两个日期,以HHHH:MM:SS

而且我不希望限制数量由hhhh小时。 我有两个日期, date1='1900-01-01 00:00:00.000'date2='1900-01-02 01:00:00.000'。 我想:

date2-date1 = '25:00:00.0' 
+0

哪个版本SQL(SQLServer的时,MySQL,Oracle中,等等)的你正在用吗?这将影响提供的答案。 – 2013-02-21 10:31:47

+0

Sql server 2008 – user2094981 2013-02-21 10:45:53

回答

2

你可以让我吨只在字符数据类型,因为数据类型时间范围00:00:00.0000000至23:59:59.9999999

DECLARE @date1 datetime = '19000101 00:00:00.000', 
     @date2 datetime = '19000102 01:00:00.000' 

SELECT CAST(DATEDIFF(hour, @date1, @date2) AS nvarchar(5))+ ':00:00.0' 

演示上SQLFiddle

0

我不知道你的表列。这里我有两个列,即time1time2DATE属性..下面是减去查询...

select to_char(Time1,'DD-MM-YYYY HH24:MM:SSAM'),to_char(Time2,'DD-MM-YYYY HH12:MM:SSAM'),(Time1-Time2)*1440 from Table_Name;

+0

谢谢你的支持。我有两个日期,date1 ='1900-01-01 00:00:00.000'和date2 ='1900-01-02 01:00:00.000'。我想得到date2-date1 = '25:00:00.0' – user2094981 2013-02-21 10:36:22

+0

,所以你可以很容易地找到你的日期减去。你是新的,所以你也可以标记我的答案正确..谢谢 – 2013-02-21 10:39:34

+0

如果我这样做:select convert(time,dateadd(ms,'1900-01-01 00:00:00.000','1900- 01-02 01:00:00.000')),0))我得到的结果是01:00:00.0000000而不是25:00:00.00 – user2094981 2013-02-21 10:43:47