gpt4 book ai didi

sql - 如何根据日期获得确切年龄

转载 作者:行者123 更新时间:2023-12-04 20:14:03 25 4
gpt4 key购买 nike

示例数据:

DECLARE @T Table (ID INT,Name VARCHAR(10),DOB DATE)
INSERT INTO @T (ID,Name,DOB) VALUES (1,'Mohan','1937-12-30')
INSERT INTO @T (ID,Name,DOB) VALUES (2,'Raj','1937-12-25')
INSERT INTO @T (ID,Name,DOB) VALUES (5,'Manny','1937-01-30')
INSERT INTO @T (ID,Name,DOB) VALUES (3,'kamal','1938-12-12')
INSERT INTO @T (ID,Name,DOB) VALUES (4,'Raj','1937-05-12')

我的查询:

Select 
cast((DATEDIFF(m, DOB, GETDATE())/12) as varchar) + ' Y & ' +
cast((DATEDIFF(m, DOB, GETDATE())%12) as varchar) + ' M & ' +
cast((DATEDIFF(D, DOB, GETDATE())%12) as varchar) + ' d' as Age from @T

这将以 Years、months 和 Days 为单位给出结果。但我的问题是如何仅在即将到来的 45 天内获得 79 岁的数据。我很震惊你能给我建议吗

最佳答案

future 45 天内年满 79 岁的人:

SELECT * from @T where
DOB > DATEADD(year,-79,GETDATE()) and
DOB < DATEADD(year,-79,DATEADD(day,45,GETDATE()))

(调整 <<= 并可能使用额外的 DATEADD/DATEDIFF 如果您希望将 GETDATE() 舍入到午夜,以满足您的具体要求)

关于sql - 如何根据日期获得确切年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40481349/

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