oracle函数
MONTHS_BETWEEN的使用
MONTHS_BETWEEN函数返回两个日期之间的月份数。
若天数不够一月或多于一月,则以31为分母计算
TRUNC(number,num_digits)
Number 需要截尾取整的数字。
Num_digits 用于指定取整精度的数字,Num_digits 的默认值为 0。如果Num_digits为正数,则截取小数点后Num_digits位;如果为负数,则先保留整数部分,然后从个位开始向前数,并将遇到的数字都变为0。
TRUNC()函数在截取时不进行四舍五入,直接截取。
针对日期的案例,如:
select trunc(sysdate) from dual --2017/6/13 返回当天的日期
select trunc(sysdate,'yyyy') from dual --2017/1/1 返回当年第一天.
select trunc(sysdate,'mm') from dual --2017/6/1 返回当月第一天.
select trunc(sysdate,'d') from dual --2017/6/11 返回当前星期的第一天(以周日为第一天).
select trunc(sysdate,'dd') from dual --2017/6/13 返回当前年月日
select trunc(sysdate,'hh') from dual --2017/6/13 13:00:00 返回当前小时
select trunc(sysdate,'mi') from dual --2017/6/13 13:06:00 返回当前分钟
decode函数:
oracle函数详解:https://www.cnblogs.com/lxl57610/p/7442130.html
oracle中rownum的含义,对于表,在insert记录时,oracle就按照insert的顺序,将rownum分配给每一行记录,因此在select一个基表的时候,rownum的排序是根据insert记录的顺序显示的,
select rownum as rn, t.* from emp t;(写法)
第一条记录
select * from emp where rownum=1;
前两条记录
select * from emp where rownum<=2;
查看表中第2条记录select * from ( select rownum as rn, t.* from emp t where rownum<=2 ) where rn=2 ;