我想減去兩個日期,並得到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'
我想減去兩個日期,並得到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'
你可以讓我噸只在字符數據類型,因爲數據類型時間範圍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
我不知道你的表列。這裏我有兩個列,即time1
和time2
與DATE
屬性..下面是減去查詢...
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
;
謝謝你的支持。我有兩個日期,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
,所以你可以很容易地找到你的日期減去。你是新的,所以你也可以標記我的答案正確..謝謝 – 2013-02-21 10:39:34
如果我這樣做: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
此外,在T-SQL有一個DATEDIFF
功能:
DATEDIFF (datepart , startdate , enddate)
例如:
SELECT DATEDIFF(year, '2005-12-31 23:59:59', '2006-01-01 00:00:00');
在oracle中,你可以看到這個鏈接有幫助 - http://www.akadia.com/services/ora_date_time.html
在MySQL - https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-sub
哪個版本SQL(SQLServer的時,MySQL,Oracle中,等等)的你正在用嗎?這將影響提供的答案。 – 2013-02-21 10:31:47
Sql server 2008 – user2094981 2013-02-21 10:45:53