SQL 根據日期精確計算年齡


第一種:

一張人員信息表里有一人生日(Birthday)列,跟據這個列,算出該人員的年齡

datediff(year,birthday,getdate())

例:birthday = '2003-3-8'

getDate()= '2008-7-7'

結果為:5

這樣結果是會返回該人員的大概年齡,但不精確.不會精確到月或日.

按照上面測試的日期,該人員的實際年齡應該還不滿5歲。在需要精確年齡的時候,就會有錯.

第二種:

  FLOOR(datediff(DY,birthday,getdate())/365.25)

FLOOR函數:

FLOOR(expr) 返回小於或等於expr的最大整數.FLOOR(1.1)返回1,FLOOR(-1.1)返回-2,FLOOR(1)返回1

這樣就可以精確算出,該人員當前實際年齡了.

測試:

birthday = '2000-7-8'

getdate()= '2007-7-7'

算出結果為:6


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM