在工作上遇到要計算年齡
原本想說簡單使用 DATEDIFF 函式就可以解決
但.......
接收到需求第一個反應就覺得很簡單
立即寫出
DECLARE @Birthday DATETIME = '1999-10-11'
SELECT DATEDIFF(YEAR,@Birthday,GETDATE())
但....執行起來有問題
因為假如今天是 2017/10/10 我的生日是 1999/10/11
我的年齡理當是17歲,但執行結果是18歲
這是為啥?
因為我使用的DateDiff是year 所以他是比較[年]
拜請google大神 找到有高手使用以下語法來解決,簡單又明瞭
DECLARE @Birthday DATETIME = '1999-10-11'
SELECT FLOOR(DATEDIFF(DY,@Birthday,GETDATE())/365.25)
如果本文對您幫助很大,可街口支付斗內鼓勵石頭^^