SQL 根據日期精確計算年齡

2021-06-20 06:23:38 字數 559 閱讀 6767

第一種:

一張人員資訊表裡有一人生日(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

SQL 根據日期精確計算年齡

第一種 一張人員資訊表裡有一人生日 birthday 列,跟據這個列,算出該人員的年齡 datediff year,birthday,getdate 例 birthday 2003 3 8 getdate 2008 7 7 結果為 5 這樣結果是會返回該人員的大概年齡,但不精確.不會精確到月或日.按...

oracle 根據出生日期計算精確年齡

select floor months between sysdate,to date 20141217 yyyy mm dd 12 a,手工輸入日期 months between sysdate,u.modifydate 12 b,從資料庫取值計算月份 floor months between s...

根據出生日期計算年齡,精確到日(C 實現)

這裡沒有考慮如果出生年為閏年,或者當前年為閏年時出生日期為二月的情況 如果需要考慮,那麼計算前加入乙個閏年判斷,並且根據是否閏年在計算時呼叫不同的monthday陣列即可。我們在這裡預設為不是閏年。並且我們認為出生第一天為1.介面如下 測試 全部 include using namespace st...