0
点赞
收藏
分享

微信扫一扫

oracle中常用函数学习

新鲜小饼干 2022-03-11 阅读 100
数据库

oracle中常用函数学习

1 nvl函数

   NVL函数的功能是实现空值的转换,根据第一个表达式的值是否为空值来返回响应的列名或表达式,主要用于对数据列上的空值进行处理,语法格式如:NVL( string1, replace_with)。
   NVL(E1, E2)的功能为:如果E1为NULL,则函数返回E2,否则返回E1本身。但此函数有一定局限,所以就有了NVL2函数。

拓展:NVL2函数:Oracle/PLSQL中的一个函数,Oracle在NVL函数的功能上扩展,提供了NVL2函数。NVL2(E1, E2, E3)的功能为:如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。
有时候在需求上的基础上,比如,没有值可以返回一个默认值0之类等

2 Union与Union all 用法区别

   UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

请注意: UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
使用: 有时候需求上展示部门下所有人员的姓名和金额等,虽然说业务表中无数据,但是可以通过左关联+union进行查出所有的数据,当时没有金额的或为空的可以通过nvl(x1,0)转换成默认值为0

3 substr 函数:截取字符串

语法:SUBSTR(string,start, [length])
string:表示源字符串,即要截取的字符串。
start:开始位置,从1开始查找。如果start是负数,则从string字符串末尾开始算起。
length:可选项,表示截取字符串长度。
SELECT SUBSTR(‘Hello SQL!’, 1) FROM dual --截取所有字符串,返回’Hello SQL!’
SELECT SUBSTR(‘Hello SQL!’, 2) FROM dual --从第2个字符开始,截取到末尾。返回’ello SQL!’
SELECT SUBSTR(‘Hello SQL!’, -4) FROM dual --从倒数第4个字符开始,截取到末尾。返回’SQL!’
SELECT SUBSTR(‘Hello SQL!’, 3, 6) FROM dual --从第3个字符开始,截取6个字符。返回’llo SQ’
SELECT SUBSTR(‘Hello SQL!’, -4, 3) FROM dual --从倒数第4个字符开始,截取3个字符。返回’SQL’

4 instr 函数:返回子字符串在源字符串中的位置

语法:INSTR(string,child_string,[start],[show_time])
string:表示源字符串。
child_string:子字符串,即要查找的字符串。
start:可选项,开始位置,默认从1开始。如果为负数,则从右向左检索。
show_time:可选项,表示子字符串第几次出现在源字符串当中,默认第1次,负数则报错。

substr 和 instr两个函数可以结合使用满足需求

举报

相关推荐

0 条评论