请注意,本文编写于 610 天前,最后修改于 610 天前,其中某些信息可能已经过时。
前言:
无论是在Oracle还是MySQL等数据库中都有其内置函数,即嵌入到主调函数中的函数。Oracle内置函数能够大幅度提高程序的执行效率,实现各种各样的数据库功能。下面我们来看看常用的Oracle内置函数。
1、 nvl(expression1, expression2)
函数作用:从两个表达式中返回一个非null值
注意:
如果expression1的值非空,优先取expression1的值;
如果expression1的值空且expression2的值非空,则取expression2的值;
如果expression1和expression2均为空,则结果为NULL
2、 decode(field_name, value1, new_value1, value2, new_value2, default_value)
函数作用:类似if...else...语句块,针对某个字段,如果它的值为value1,则转换为newValue1,如果值为value2,则转换为newValue2,其他情况显示默认值
注意:
decode(field_name, value1, new_value1, value2, new_value2, default_value)其中的value1,newValue1等可以是一个表达式
3、 row_number(order by field_name)
函数作用:将数据集按照某个字段排序,并产生序号字段
4、 to_date(source_string, formater_string)
函数作用:将字符串转换为日期类型
5、to_char()
函数作用:将其他类型转换为字符串类型
注意:
用例1中还有很多其他的日期格式,如yyyy,mm,dd,D,DD,DDD等
用例2中fm,9,0都有不同的含义,如下表所示
6、wm_concat
函数作用:行转列,将多行查询结果聚合到一行的某一列中
7、 listagg() within group(order by field_name) over(partition by field_name)
函数作用:同wm_concat
8、 concat(expression1, expression2)
函数作用:字符串拼接函数
9、sys_guid()
函数作用:产生并返回一个全球唯一的标识符(原始值)由16个字节组成,32个字符
用例:select sys_guid() from dual;
注意:经常用来做表的主键
10、over(partition by field_name, order by field_name)
函数作用:over函数是一个分析函数,和聚合函数搭配在一起使用可以简洁代码