我想减去两个日期时间值:
我有开始日期时间 #2015-06-14 23:00:00#
结束日期时间 #2015-06-15 01:01:00#
我想通过时间格式获取持续时间,如HH:MM:SS
,并在我尝试下面的代码中的持续时间列中更新它,但它不起作用。
update [ZainJTA].[dbo].[TBL_Justification]
set [Justification_Event_Duration]=CONVERT(Datetime,(DateDiff("n",[Justification_From],[Justification_TO])/60/24),108)
答案 0 :(得分:1)
DATEDIFF
会返回INT
,因此将其除以另外两个INT
将会给您 - 另一个INT
,很可能为零。
尝试:
CONVERT(Datetime,(DateDiff(s,[Justification_From],[Justification_TO])/60.0/60/24),108)
(60.0将触发转换为浮点格式。)
然而,将存储它可能更有意义,它只需要几秒(整数),并且只有在输出显示时才会 要显示为 时间,没有日/年部分,您还需要进行第二次转换:CONVERT
。< / p>
CONVERT(VARCHAR, CONVERT(Datetime,
(DateDiff(s,[Justification_From],[Justification_TO])/60.0/60/24),108),108)