SQL語句如下:
創(chuàng)新新互聯(lián),憑借10余年的成都做網站、網站制作經驗,本著真心·誠心服務的企業(yè)理念服務于成都中小企業(yè)設計網站有上1000+案例。做網站建設,選創(chuàng)新互聯(lián)。
select?floor(MONTHS_BETWEEN(sysdate,date'2016-1-1')/12)?as?age?from?dual;
結果:
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) 返回當前日期的年份
肯定的,你的子查詢寫,要么是寫多了,要么是寫少了。
寫多了,可以不用寫子查詢的
(select
(to_char(sysdate,'YYYY')-to_char(c.birthdate,
'YYYY'))
age
from
C
c)年齡,
改為
to_char(sysdate,'YYYY')-to_char(c.birthdate,
'YYYY')
年齡即可
寫少了.(先確定id在c表中沒有重復啊。)
from中去掉c
,然后在
(select
(to_char(sysdate,'YYYY')-to_char(c.birthdate,
'YYYY'))
age
from
C
c)年齡,
改為
(select
(to_char(sysdate,'YYYY')-to_char(c.birthdate,
'YYYY'))
age
from
C
c
where
c.id=a.id)年齡,
年齡段統(tǒng)計可用case when 語句。
如test表中有以下數(shù)據(jù):
其中18-29歲為青年,30-49歲為中年,50歲以上為老年,先統(tǒng)計各個年齡段人數(shù),可用如下語句:
select?case?when?age?between?18?and?29?then?'青年'?when?age?between?30?and?59?then?'中年'?when?age=60?then?'老年'?end?as?年齡段,
count(*)?as?人數(shù)?
from?test
group?by?case?when?age?between?18?and?29?then?'青年'?when?age?between?30?and?59?then?'中年'?when?age=60?then?'老年'?end;
統(tǒng)計結果:
文章標題:oracle怎么計算年齡,oracle周歲計算
本文路徑:http://www.rwnh.cn/article8/dssdjop.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網站、軟件開發(fā)、虛擬主機、自適應網站、網頁設計公司、網站導航
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)