2017-01-17 89 views
-4

需要創建一個基本年齡計算器函數,該函數可計算人數表中年齡段的年數。如何計算SQL中年齡的年數

該函數應該被稱爲agecalculator,它需要取1個日期並根據NOW的日期計算年數,並且必須返回一個整數。

您可以在測試時查詢人員表格,但查詢只能包含最終提交中的函數。

人表模式

id 
name 
age 

這是我的代碼:

select convert(int,DATEDIFF(d, '1933-10-31', getdate())/365.25) 
+3

你告訴我們你的任務。您發佈了一行代碼。現在,有什麼問題? – csmckelvey

+2

你正在使用哪些DBMS? Postgres的?甲骨文? DB2?火鳥? –

+1

[How to calculate age(in years)based on Birth Date and getDate()](http://stackoverflow.com/questions/1572110/how-to-calculate-age-in-years-based-在date-and-getdate) –

回答

0

試試這個:

DECLARE @DOB DATETIME ='12/29/1980' 

SELECT @DOB 'Date of Birth', GETDATE() 'Current Date', 

DATEDIFF(YEAR,@DOB,GETDATE()) - 
(CASE WHEN DATEADD(YY,DATEDIFF(YEAR,@DOB,GETDATE()),@DOB) > GETDATE() 
    THEN 1 
    ELSE 0 
     END) 'Age in Years'