gpt4 book ai didi

SQL Server DATEDIFF 将 YEAR 差值四舍五入。如何舍入?

转载 作者:行者123 更新时间:2023-12-05 09:14:13 30 4
gpt4 key购买 nike

我有一个问题,我尝试谷歌搜索,但大多数问题都是关于小时或分钟的四舍五入。

我正在检查用户的生日,我有两个相隔 99.3 年的日期。这意味着用户是 99 岁但是这段代码:

DATEDIFF(YEAR, r.BirthDate, ISNULL(@Date,GETDATE()))

返回值 100。是否有办法将值向下舍入?

最佳答案

您可以使用此逻辑来获取正确的年龄:

select (case when month(birthdate) * 100 + day(birthdate) >=
month(getdate()) * 100 + day(getdate())
then year(getdate()) - year(birthdate)
else year(getdate()) - year(birthdate) - 1
end) as age

这应该是准确的,即使存在闰年。基本上它会查看生日的月日部分,并检查它是在今天还是晚于今天。该逻辑使用此信息来确定年份。

关于SQL Server DATEDIFF 将 YEAR 差值四舍五入。如何舍入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54591605/

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