如何只比较SQL Server 2005中DateTime数据类型的时间部分?例如,我想获取MyDateField在特定时间之后的所有记录.以下示例是一个非常长且可能不快的方法.我想要MyDateField大于12:30:50.400的所有日期
SELECT *
FROM Table1
WHERE ((DATEPART(hour, MyDateField) = 12) AND (DATEPART(minute, MyDateField) = 30) AND (DATEPART(second, MyDateField) = 50) AND (DATEPART(millisecond, MyDateField) > 400))
OR ((DATEPART(hour, MyDateField) = 12) AND (DATEPART(minute, MyDateField) = 30) AND (DATEPART(second, MyDateField) > 50))
OR ((DATEPART(hour, MyDateField) = 12) AND (DATEPART(minute, MyDateField) > 30))
OR ((DATEPART(hour, MyDateField) > 12))
Run Code Online (Sandbox Code Playgroud)