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返回指定值。
- nvl()函数的格式如下:NVL(expr1,expr2);
- 含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。
- 例:select name,NVL(name,-1) from user;运行后,结果返回两列数值,若name为空,则返回-1,若name不为空值,则返回其自身
7. REGEXP_SUBSTR
- 作用:进行正则匹配
- 参数 :
function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)
- string:需要进行正则处理的字符串
- pattern:进行匹配的正则表达式
- position:起始位置,从字符串的第几个字符开始正则表达式匹配(默认为1) 注意:字符串最初的位置是1而不是0
- occurrence:获取第几个分割出来的组(分割后最初的字符串会按分割的顺序排列成组)
- modifier:模式(‘i’不区分大小写进行检索;‘c’区分大小写进行检索。默认为’c’)针对的是正则表达式里字符大小写的匹配
- 例子解读
- 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()
-
作用:函数可以进行数据类型的转换。
-
参数: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
- 作用:
- MULTISET UNION:取得两个嵌套表的并集 结果集中会包含重复值,不去重;
- MULTISET UNION DISTINCT: 取得两个嵌套表的并集 并取消重复结果,去重;
- MULTISET INTERSECT:用于取得两个嵌套表的交集;
- NULTISET EXCEPT:用于取得两个嵌套表的差集 在A集合中存在,但在B集合中不存在。
10 .row_number() over()
- 作用:分组排序,它会为查询出来的每一行记录生成一个序号,依次排序且不会重复,注意使用row_number函数时必须要用over子句选择对某一列进行排序才能生成序号。