gpt4 book ai didi

sql - 表示两岁之间的年龄

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

问题

如何在查询中表达以下语句?

Between 4 and 5 years old

SQL查询

WHERE DATEDIFF(YEAR, AcquiredDate, GetDate()) <=2

获取从今天开始超过一年的所有 Assets

我想说什么?

获取4到5年的所有 Assets


最佳答案

使用 datediff(year) 时要非常小心。它计算两个日期之间的年份界限数。因此,2014-12-31 和 2015-01-01 之间的差值为 1。

此外,我建议将函数放在 getdate() 值上而不是列上。这允许在列上仍然使用索引(“sargability”)。所以,像这样的事情应该做你想做的:

where AcquiredDate >= dateadd(year, -5, GetDate()) and
AcquiredDate < dateadd(year , -3, GetDate())

在 2015-01-01 上,这将检索在 2010-01-1 和 2011-12-31 之间获取的行,这似乎是问题的意图。

关于sql - 表示两岁之间的年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27293380/

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