作者:晓小墨_641 | 来源:互联网 | 2023-10-11 18:47
常用函数1.NVL(string1,replace_with)NVL是OraclePLSQL中的一个函数。它的格式是NVL(string1,replace_with)。它的功
常用函数
1.NVL
( string1, replace_with)
NVL是Oracle PL/SQL中的一个函数。它的格式是NVL( string1, replace_with)。它的功能是如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。
2.decode
(value, if1, then1, if2,then2, if3,then3, . . . else )
DECODE是Oracle公司独家提供的功能
在逻辑编程中,经常用到If – Then –Else 进行逻辑判断。在DECODE的语法中,实际上就是这样的逻辑处理过程。
3.case when
用于计算条件列表并返回多个可能结果表达式之一。(通用表达式,与oracle的decode作用一致)
4.substr
函数表示被截取的字符串或字符串表达式
substr(strings|express,m,[n])
strings|express :被截取的字符串或字符串表达式
m 从第m个字符开始截取
n 截取后字符串长度为n
5.trunc
是一种函数,功能是截取日期或数字,返回指定的值。
TRUNC(number,num_digits)
Number 需要截尾取整的数字。
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。
TRUNC(TO_DATE('24-Nov-1999 08:00 pm','dd-mon-yyyy hh:mi am'))
='24-Nov-1999 12:00:00 am'
TRUNC(TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am'),'hh') ='24-Nov-1999 08:00:00 am'
trunc(sysdate,'yyyy') --返回当年第一天.
trunc(sysdate,'mm') --返回当月第一天.
trunc(sysdate,'d') --返回当前星期的第一天.
trunc(sysdate,'dd')--返回当前年月日
trunc(sysdate, 'hh')--返回当前小时
trunc(sysdate, 'mi')--返回当前分钟
6.with
7.over
over()函数是Oracle的分析函数,其语法如下
函数名( [ 参数 ] ) over( [ 分区子句 ] [ 排序子句])
函数 ([参数]) over (partition by 列名1 order by 列名2)
over不能单独使用,要和分析函数:sum(),row_number()等一起使用。其中分区子句和排序子句都是可选的
例子:
sum(sal) over (partition by deptno order by ename)