回覆列表
-
1 # 使用者7084117510707
-
2 # 使用者7122188895624
第一種:
一張人員資訊表裡有一人生日(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
在Oracle中,要獲得日期中的年份,例如把sysdate中的年份取出來。
一種常用的方法是:to_number(to_char(sysdate,"yyyy"))
還有一種更好的方法,那就是使用oracle提供的Extract函式,使用方法是:
extract(year from sysdate) ,此方法獲得的結果是數值型的 ,這種方法省掉了型別轉換,更加簡潔。
相應的,要取得月份或日,可以用extract (month from sysdate) 和extract (day from sysdate)
在excel裡知道年齡的話可以透過EXCEL的公式功能來直接計算出該出生日期對應的年齡,具體操作步驟如下:
1、首先開啟一個excel表格,然後選擇一欄輸入想要計算的出生日期,例如下面的A欄;
2、接著選擇另外一欄單元格,在對應的第一行裡輸入年齡計算公式,具體為(TODAY()-A2)/365,直接按下回車鍵便能夠透過公式計算出年齡,這裡的A2是對應的出生日期格子,出生日期放的格子不一樣,那麼A2也隨之變動;
4、因為預設設定的問題,年齡會存在小數點,這樣子便需要改一下設定,按住左鍵框選整個B列,點一下滑鼠右鍵,進入單元格格式設定介面中;
5、在設定單元格格式介面,點數值,小數位數選擇0,然後點確定;
6、這時就會得到一個整數的年齡了。