计算周岁的SQL语句:
select trunc(months_between(sysdate,date'1992-12-8')/12) 年龄 from dual;
用到两个函数:trunc和months_between
trunc函数两种用法:
1、trunc(number1,number2),只舍不入取值。
number1:原始数据,要操作的对象
number2:操作要求
number2>0,保留到小数点右边第number2位.
number2<0,将小数点左边第number2位舍去。
number2=0或者没有number2参数,是只保留到整数。
例:trunc(5.75698,2),结果:5.75
trunc(1789.23,-2),结果:1700
trunc(5.75,0)或者trunc(5.75),结果:5
2、trunc(date,month/year),将date截取到年或者月。
例:trunc(date'2014-7-16','month') 结果:2014/7/1
trunc(date'2014-7-16','year') 结果:2014/1/1
months_between函数
months_between(x,y),计算x-y,结果是相差的月份数。
例子:months_between(sysdate,date'1996-12-8') 结果:225.824334677419---表示相差的月份数