gpt4 book ai didi

sql - 如何在 SQL Server 中以年月日格式显示确切年龄

转载 作者:行者123 更新时间:2023-12-04 18:17:40 26 4
gpt4 key购买 nike

我被我的查询困住了。我有一张名为 Patient 的表.在此表中,有一列有患者 DOB .其实我想显示准确 患者的年龄。

例如:

PatName   DOB (MM/dd/yyyy)   Age
a 06/02/1947 65 Years 1 Month/s 3 Days
b 07/10/1947 64 Years 11 Month/s 25 Days
c ----------- -----------------------

我想显示上述格式的年龄。

我已经用谷歌搜索过了,但没有人帮忙。

如果您对此有任何疑问,请发布。

谢谢

最佳答案

嗨检查下面的查询。

--DROP TABLE patient
CREATE TABLE patient(PatName varchar(100),DOB date, Age varchar(100))
INSERT INTO patient
VALUES('a','06/02/1947',NULL),('b','07/10/1947',NULL),('c','12/21/1982',NULL)

;WITH CTE(PatName,DOB,years,months,days) AS
(SELECT PatName,DOB,DATEDIFF(yy,DOB,getdate()),DATEDIFF(mm,DOB,getdate()),DATEDIFF(dd,DOB,getdate()) FROM patient)

--SELECT * FROM CTE

SELECT PatName,DOB,
CAST(months/12 as varchar(5))+' Years'+CAST((months % 12) as varchar(5))+' month/s '+CAST(CASE WHEN DATEADD(MM,(months % 12),DATEADD(YY,(months/12),DOB)) <= GETDATE() then DATEDIFF(dd,DATEADD(MM,(months % 12),DATEADD(YY,(months/12),DOB)),GETDATE()) ELSE DAY(getdate()) END as varchar(5))+' days' as Age

FROM CTE

关于sql - 如何在 SQL Server 中以年月日格式显示确切年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11345041/

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