【Oracle】——常用函数

1.LENGTH

  • 含义
    length表示的是字符串的字符长度
SELECT length('newzhong') FROM dual;

结果: length按字符计,汉字、英文、数字都是1个字符,故这里返回9

2.LENGTHB

  • 含义:lengthb表示的是字符串的字节长度

2.ROUND

  • 作用: 截取数字
  • 格式如下: ROUND(number[,decimals])

其中:number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分,并四舍五入。如果为负数则表示从小数点开始左边的位数,相应整数数字用0填充,小数被去掉。需要注意的是,和trunc函数不同,对截取的数字要四舍五入。

3.REPALCE

  • 作用:替换字符串
  • replace(原字段,“原字段旧内容“,“原字段新内容“,)

4.DECODE

  • 含义:将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。
  • 用法:
 select   decode( x , 1 , ‘x is 1, 2 , ‘x is 2, ‘others’)  from  dual

当x等于1时,则返回‘x is 1’。

当x等于2时,则返回‘x is 2’。

否则,返回others’。

5.to_char()

** 含义:**: 日期转换:
to_char(date,‘格式’)

select to_date('2005-01-01 ','yyyy-MM-dd') from dual;
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;

6.nvl

作用: 判断某dao个值是否为空值,若不为du空zhi值则输出,若为空值,dao返回指定值。

  1. nvl()函数的格式如下:NVL(expr1,expr2);
  2. 含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。
  3. 例:select name,NVL(name,-1) from user;运行后,结果返回两列数值,若name为空,则返回-1,若name不为空值,则返回其自身

7. REGEXP_SUBSTR

  1. 作用:进行正则匹配
  2. 参数 :function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)
  • string:需要进行正则处理的字符串
  • pattern:进行匹配的正则表达式
  • position:起始位置,从字符串的第几个字符开始正则表达式匹配(默认为1) 注意:字符串最初的位置是1而不是0
  • occurrence:获取第几个分割出来的组(分割后最初的字符串会按分割的顺序排列成组)
  • modifier:模式(‘i’不区分大小写进行检索;‘c’区分大小写进行检索。默认为’c’)针对的是正则表达式里字符大小写的匹配
  1. 例子解读
  • SELECT REGEXP_SUBSTR(‘12a342A56a’,’[^A]+’,1,1,‘i’) AS STR FROM DUAL;
    结果:12
    分析:正则表达式是以A为标识进行分割分组,而’i’标识不区分大小写,所以结果是12
    2、SELECT REGEXP_SUBSTR(‘12a342A56a’,’[^A]+’,1,1,‘c’) AS STR FROM DUAL;
    结果:12a34
    分析:正则表达式是以A为标识进行分割,而’c’标识区分大小写,所以结果是12a34,而不是12

8. CAST()

  1. 作用:函数可以进行数据类型的转换。

  2. 参数:cast( 列名/值 as 数据类型 )

函数的参数有两部分,源值和目标数据类型,中间用AS关键字分隔。
3. 例子

  • 1 转换列
select cast(id as varchar2(10)) as id from student;
 --将id的类型(number)转换为varchar2类型。

  • 2.转换值
SELECT CAST('123' AS int) as result from dual;
--- 将字符串转换为整型。(结果123整形)

9. MULTISET

  1. 作用:
  • MULTISET UNION:取得两个嵌套表的并集 结果集中会包含重复值,不去重;
  • MULTISET UNION DISTINCT: 取得两个嵌套表的并集 并取消重复结果,去重;
  • MULTISET INTERSECT:用于取得两个嵌套表的交集;
  • NULTISET EXCEPT:用于取得两个嵌套表的差集 在A集合中存在,但在B集合中不存在。

10 .row_number() over()

  1. 作用:分组排序,它会为查询出来的每一行记录生成一个序号,依次排序且不会重复,注意使用row_number函数时必须要用over子句选择对某一列进行排序才能生成序号。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值