我想获得一个完整的日期如何添加小时,分钟,秒到dateadd sql?
那么今天将是2010年7月7日上午12:00:00至2010年7月7日下午11:59:59
所以这应该是全自12:00:00起24小时将是当时的第8次。
所以我有这个
select DATEADD(??, ??, DATEDIFF(dd, 0, GETUTCDATE()))
如何使它添加23小时59mins和59秒呢?
我想获得一个完整的日期如何添加小时,分钟,秒到dateadd sql?
那么今天将是2010年7月7日上午12:00:00至2010年7月7日下午11:59:59
所以这应该是全自12:00:00起24小时将是当时的第8次。
所以我有这个
select DATEADD(??, ??, DATEDIFF(dd, 0, GETUTCDATE()))
如何使它添加23小时59mins和59秒呢?
DECLARE @start DATETIME
DECLARE @end DATETIME
SET @start = DATEADD(dd, 0, DATEDIFF(dd, 0, GETUTCDATE()))
SET @end = DATEADD(dd, 1, DATEADD(ms, -3, @start))
试试这个:
DATEADD(second, -1, DATEADD(DAY, 1,"7/7/2010 12:00:00"))
这是否更好?它会遇到这种竞争状态吗? – chobo2 2010-07-08 00:16:36
@ chobo2:这个计算'@ end'与'@ start'相关,而不是通过调用'GETUTCDATE()'a第二次,所以它不容易受到竞争条件的影响,在(不太可能的)事件中,日期在两个报表之间的午夜之间打勾,然后范围仍然是一天。 – LukeH 2010-07-08 06:09:44