gpt4 book ai didi

sql - 将 GETDATE 与 DATEDIFF 一起使用?

转载 作者:行者123 更新时间:2023-12-01 15:07:42 25 4
gpt4 key购买 nike

我的目标是找到比当前日期早 3 年以上的任何 HireDate,但我对语法感到困惑。问题来了

 IF DATEDIFF(year,HireDate,GETDATE) > 3

最佳答案

不要使用 DATEDIFF()!使用 DATEADD():

where HireDate < dateadd(year, -3, GETDATE())

DATEDIFF() 并不像您认为的那样。它计算两个日期之间的年份界限数。因此,20015 年 1 月 1 日和 2016 年 12 月 31 日之间相差 1 年。

此外,对于 DATEDIFF(),列是函数的参数。这会阻止 SQL Server 在该列上使用索引。这不是 DATEADD() 的问题,因为参数是 GETDATE(),而不是表中的列。

关于sql - 将 GETDATE 与 DATEDIFF 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42998147/

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