年月日で人の年齢を見つけるためのSQLでクエリを書きたい.....lik3 Age: '65Years/7Month/2Days'
従業員の名前と生年月日で構成されるテーブルがあります
クエリを使用して年、月、または日で年齢を見つけることができdatediff
ますが、すべての混乱のためにどのように書くかはわかりません
DATEDIFF(day,Column_1,DateNow())
年月日で人の年齢を見つけるためのSQLでクエリを書きたい.....lik3 Age: '65Years/7Month/2Days'
従業員の名前と生年月日で構成されるテーブルがあります
クエリを使用して年、月、または日で年齢を見つけることができdatediff
ますが、すべての混乱のためにどのように書くかはわかりません
DATEDIFF(day,Column_1,DateNow())
これを試して:
CREATE TABLE emp(ename varchar(100),DOB date, Age varchar(100))
INSERT INTO emp
VALUES('d','06/02/2011',NULL)--,('b','07/10/1947',NULL),('c','12/21/1982',NULL)
;WITH CTE(ename,DOB,years,months,days)
AS
(
SELECT
ename,DOB,DATEDIFF(yy,DOB,getdate()),DATEDIFF(mm,DOB,getdate()),DATEDIFF(dd,DOB,getdate())
FROM
emp
)
SELECT
ename,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
ここで試してみてください http://social.msdn.microsoft.com/Forums/en/transactsql/thread/399a7e87-bc78-47a5-8cc2-2d2436886fd7グーグルはあなたの友達です "ms sql for age from date"
ここに示されている方法を参照してください http://www.sqlservercurry.com/2010/07/calculate-age-from-date-of-birth-using.html