真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

oracle怎么提取年齡,oracle 年齡

oracle.根據(jù)生日字段計算查詢出人員表每個人的年齡?

這個辦法很多,如果是比較精確的可以用month_between函數(shù),然后除以12,最后在trunc這樣就能得到具體的年齡了。

成都創(chuàng)新互聯(lián)從2013年開始,先為濱海新區(qū)等服務建站,濱海新區(qū)等地企業(yè),進行企業(yè)商務咨詢服務。為濱海新區(qū)企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

比如trunc(month_between(sysdate,時間類型的生日字段)/12)

個人感覺這個精確一些,能精確到天,只要還沒過生日,那么就不會加一歲。

當然二者直接相減trunc((sysdate-時間類型的生日字段)/365)也可以。

sysdate-時間類型的生日字段,這么相減默認出現(xiàn)的是相差的天數(shù),所以除以365。這個也可以,不過有些年是366天,不過因為366天的年分比較少,所以基本上不會相差很多。只是會出現(xiàn),“提前”的情況。不過80年最多才21天(大概是這樣,我沒細算,就算四年一次),所以對實際影響不是特別大。如果要求準確那么還是上面的靠譜一些。

用函數(shù)取出字段年,然后用現(xiàn)在的年相減也可以。這個就是一個大概(個人認為更加不靠譜),比如一個人2050年12月30日出生,現(xiàn)在是2055年后的1月1號,那么按照年來說就是5,但是其實才4歲多一點,所以年這個只是一個大概的,不會十分準確。

oracle根據(jù)出生日期算年齡

select floor(months_between(to_date(concat(extract(year from sysdate),'-10-31'),'YYYY-MM-DD'),to_date(生日的日期,'yyyy-mm-dd'))/12) from table_name

floor 向下取整

months_between 日期相差的月份數(shù)

concat字字符串連接

extract(year from sysdate) 返回當前日期的年份

Oracle 根據(jù)出生日期計算年齡

可用to_char函數(shù)將date類型轉成字符類型。

如emp表中有如下數(shù)據(jù):

如果計算生日的方法是當前日期的年份減去生日的年份,可用如下語句:

select?ename,hiredate,to_char(sysdate,'yyyy')-to_char(hiredate,'yyyy')?from?emp;

查詢結果:


當前題目:oracle怎么提取年齡,oracle 年齡
當前鏈接:http://weahome.cn/article/dscghhd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部