oracle函数

Posted bai白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle函数相关的知识,希望对你有一定的参考价值。

MONTHS_BETWEEN的使用

  MONTHS_BETWEEN函数返回两个日期之间的月份数。

 

 

 若天数不够一月或多于一月,则以31为分母计算

 

 

 

oracle之TRUNC函数

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函数:

decode(X,A,B,C,D,E)
这个函数运行的结果是,当X = A,函数返回B;当X != A 且 X = C,函数返回D;当X != A 且 X != C,函数返回E。 其中,X、A、B、C、D、E都可以是表达式,这个函数使得某些sql语句简单了许多

 

 

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 ;

以上是关于oracle函数的主要内容,如果未能解决你的问题,请参考以下文章

Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)(代码片段

Oracle Decode()函数和CASE语句的比较

VSCode自定义代码片段——声明函数

VSCode自定义代码片段8——声明函数

Oracle系列:(12)多行函数

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段