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