【需求】出生后按照日历计算的历法年龄。年龄满1周岁的,以实足年龄的相应整数填写;年龄不足1周岁的,按照实足年龄的月龄填写,以分数形式表示:分数的整数部分代表实足月龄,分数部分分母为30,分子为不足1个月的天数,如“2 15/30月”代表患儿实足年龄为2个月又15天。
select DECODE(SIGN(TRUNC(MONTHS_BETWEEN(sysdate, B.出生日期)) - 12),-1,
TRUNC(MONTHS_BETWEEN(sysdate, B.出生日期))||' '|| to_number(
case when to_char(sysdate,'dd')>=to_char(B.出生日期,'dd')
then to_char(sysdate,'dd')-to_char(B.出生日期,'dd')
else to_char(last_day(B.出生日期),'dd')-to_char(B.出生日期,'dd')+
to_char(sysdate,'dd')\end
)||'/'||'30',NULL) BZYZSNL
from user B
找了很久怎么计算中间那个天数,根据这位博主的方法进行修改,达到我想要的效果了!!