数据库之SQL常用函数

常用函数

1.NVL

( string1, replace_with)

NVLOracle PL/SQL中的一个函数。它的格式是NVL( string1, replace_with)。它的功能是如果string1NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL

 

2.decode

(value, if1, then1, if2,then2, if3,then3, . . . else )

DECODEOracle公司独家提供的功能

在逻辑编程中,经常用到If Then Else 进行逻辑判断。在DECODE的语法中,实际上就是这样的逻辑处理过程。

 

 数据库之SQL常用函数_第1张图片

 

3.case when

用于计算条件列表并返回多个可能结果表达式之一。(通用表达式,oracledecode作用一致)

 

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

 数据库之SQL常用函数_第2张图片

 

 

 

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)

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(数据库之SQL常用函数)