我想减去两个日期并获得hhhh:mm:当小时数可能大于24时的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 :(得分: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上的演示
答案 1 :(得分:0)
我不知道您的表格列。这里我有两列,即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
;
答案 2 :(得分:0)
此外,在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