gpt4 book ai didi

sql-server - 比较 SQL Server 2005 中 DateTime 数据类型的时间部分

转载 作者:行者123 更新时间:2023-12-02 10:00:27 26 4
gpt4 key购买 nike

如何在 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))

最佳答案

SELECT *
FROM Table1
WHERE DATEADD(day, -DATEDIFF(day, 0, MyDateField), MyDateField) > '12:30:50.400'

关于sql-server - 比较 SQL Server 2005 中 DateTime 数据类型的时间部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2000831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com