17,086
社区成员
发帖
与我相关
我的任务
分享
select decode(
sign(dif_days),
1 ,to_char(sysdate,'yyyy')-to_char(datetime,'yyyy') , --當前日期大於生日-1天
-1,to_char(sysdate,'yyyy')-to_char(datetime,'yyyy')-1, --當前日期小於生日-1天
0 ,to_char(sysdate,'yyyy')-to_char(datetime,'yyyy') --當前日期等於生日-1天
) year, --幾歲
abs(dif_days) days --幾天
from (
select date_time,
trunc(sysdate)-to_date(to_char(sysdate,'yyyy')||to_char(datetime,'mmdd'),'yyyymmdd')+1 dif_days
from your_table
)
select to_char(sysdate,'yyyy')-to_char(datetime,'yyyy')+1 v_age
from your_table
SELECT TRUNC((SYSDATE - DateTime)/365,0)
FROM YOURTABLE;