0
我知道datediff
只给你一个整数,是否有一个替代方案给你一个十进制结果的两个日期之间的差异?如何,在SQL Server中,我可以减去两个日期以获得精确的DECIMAL结果
请问以下就足够了/精确:
CAST(DateA- DateB AS decimal(7 , 2))
我知道datediff
只给你一个整数,是否有一个替代方案给你一个十进制结果的两个日期之间的差异?如何,在SQL Server中,我可以减去两个日期以获得精确的DECIMAL结果
请问以下就足够了/精确:
CAST(DateA- DateB AS decimal(7 , 2))
没有,但你可以决定粒度的诠释则返回 - 它可以是年,季度,月周,日,小时,分钟,秒,毫秒......我想这就是他们全部。
下面是一个例子返回以秒计的差异然后转换为分钟,小时等:
declare @start datetime
declare @end datetime
set @start = '2013-01-01 00:00:00'
set @end = getdate()
declare @deltaSeconds int
set @deltaSeconds = DATEDIFF(ss, @start, @end)
select @deltaSeconds Seconds, @deltaSeconds/60.0 [Minutes], @deltaSeconds/60.0/60.0 [Hours], @deltaSeconds/60.0/60.0/24.0 [Days]
谢谢,将简单的“CAST(DateA- DateB AS十进制(7,2))”不足以? – aSystemOverload 2013-03-28 08:23:25
是的,如果你想在几天内得到结果,那看起来很好。 – Moho 2013-03-28 08:26:18