在MySQL中

select * from record where register_date like '2009-10-10%'

SQL Server的语法是什么?

最佳答案

您可以使用DATEPART()函数

SELECT * FROM record
WHERE  (DATEPART(yy, register_date) = 2009
AND    DATEPART(mm, register_date) = 10
AND    DATEPART(dd, register_date) = 10)

我发现这种方式很容易理解,因为它忽略了时间成分,而且您不必使用第二天的日期来限制选择。您可以使用适当的DatePart代码(例如,通过添加额外的子句)来增加或减少粒度。
AND    DATEPART(hh, register_date) = 12)

获取12到1之间的记录。

有关有效参数的完整列表,请查询MSDN DATEPART docs

关于sql-server - SQL Server datetime喜欢吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1629050/

10-10 03:33