sql server datetime where子句
问题描述:
对不起,懒惰的问题。我想知道SQL Server 2005的语法为sql server datetime where子句
SELECT *
FROM myTable
WHERE myDateTimeField > "4am this morning"
在此先感谢您的帮助。
答
尝试
SELECT * FROM myTable
WHERE myDateTimeField >
DateAdd(hour, 4, DateAdd(day, DateDiff(day, 0, getdate()), 0))
答
而只是为了是不同的,并且可以说是较短的/更易读比其它产品:
SELECT *
FROM myTable
WHERE myDateTimeField >
cast(convert(varchar, getdate(), 101) + ' 4AM' as datetime)
当然,你可能并不是真的想要对4AM进行硬编码,但是如果你这样做,这种方式在传达你的意图方面是非常明显的。
+0
FYI:日期截断的最快方法SQL Server将使用DATEADD/DATEDIFF方法。 – 2010-12-08 02:31:43
@omg,您快速 – 2010-12-08 02:18:21