【发布时间】:2018-06-22 11:49:18
【问题描述】:
我正在调整我现有的代码以考虑两个 datetime 值之间经过的分钟和秒数。我目前提取了过去的时间,但最好不是只有几个小时,而是采用 HH:MM:SS 格式,但我似乎找不到任何解决我的问题的文件。
Select
convert(datetime, Left(Replace(Create_Date, 'T', ' '), 19)) as CreateDate2,
case
when Resolution_date = 'None' then '1999-01-01 12:00:00'
when Resolution_date <> 'None' then convert(datetime, left(replace(resolution_date, 'T', ' '), 19))
end as ResolutionDate2,
datediff(hour, convert(datetime, left(replace(Create_Date, 'T', ' '), 19)),
case
when Resolution_date = 'None' then '1999-01-01 12:00:00'
when Resolution_date <> 'None' then convert(datetime, left(replace(Resolution_date, 'T', ' '), 19))
end) as HoursPassed,
*
from
xyz
where
abc;
更具体地说,这部分来自上面的代码:
datediff(hour, convert(datetime,Left(Replace(Create_Date, 'T', ' '), 19)),
case
when Resolution_date = 'None' then '1999-01-01 12:00:00'
when Resolution_date <> 'None' then convert(datetime, left(replace(Resolution_date, 'T', ' '), 19))
end) as HoursPassed
datetime 列最初采用这种格式:
2017-05-25T15:58:26.000+0000
目前的结果如下所示:
2017-05-23 19:51:59.000 2017-05-24 12:38:17.000 17
2017-05-24 15:10:50.000 2017-05-24 16:31:23.000 1
2017-05-25 15:58:26.000 2017-05-25 16:03:30.000 1
【问题讨论】:
标签: sql sql-server datediff date-difference