第三章:使用简单函数
单行函数-字符函数
单行函数:一次只能对一行进行操作,且对输入的每一行返回一行输出结果。
单行函数只要有5中:字符函数、数值函数、转换函数、日期函数、正则表达式函数
字符函数
1.ASCII(x):获得字符x的ASCII码
CHR(x):获得ASCII码为x的字符
select ASCII('a'),CHR(90)
from dual
ASCII('a') CHR(90)
--------------------
97 Z
2.CONCAT(x,y) 函数用于将y添加到x之后,该函数返回得到的字符串
select CONCAT(id, id_type)
from test
CONCAT(id, id_type)
-------------------
101
201
....
3.INITCAP(x)函数用于将x中每个单词的首字母转换成大写
select INITCAP('hello world') from dual;
INITCAP('HELLOWORLD')
----------------------
Hello World
4.INSTR(x,find_string[,occurrence])函数用于在x中查找find_string.返回find_String所在的位置。
select INSTR('hello world', 'w') from dual;
INSTR('HELLOWORLD','W')
------------------------
7
5.LENGTH(x):函数用于获得x中字符的个数
select LENGTH('hello world') from dual;
LENGTH('HELLOWORLD')
----------------------
11
7.LPAD(x, width[,pad_string]):函数用于在x的左边补齐空格,使x的总长度达到width个字符。如果在pad_string中指定了字符串,就是用这个字符串来重复填充x左边的空位。
RPAD(x, width[,pad_string]):函数用于在x的右边补齐空格,使x的总长度达到width个字符。如果在pad_string中指定了字符串,就是用这个字符串来重复填充x右边的空位。
select RPAD(id, 3, '.'),LPAD(id_type, 4, '*')
from test
RPAD(ID,3,'.') LPAD(ID_TYPE,4,'*')
-------------------------------------
1.. **01
2.. **01
8.LTRIM()/RTRIM()和TRIM()
LTRIM():函数用于从x的左边截去一些文字;如果没有指定trim_string参数,默认情况下回截去空格。
RTRIM():函数用于从x的右边截去一些文字;如果没有指定trim_string参数,默认情况下回截去空格。
TRIM():函数用于从x的右边和左边截去一些文字;如果没有指定trim_string参数,默认情况下回截去空格。
select LTRIM(' Hello world') from dual;
LTRIM('HELLOWORLD')
----------------------
Hello world
9.NVL()
NVL():用于将空值转换成另一个值。
select id, NVL(id_type, 'UNKNOWN') from test
id NVL(ID_TYPE, 'UNKNOWN')
------------------------------
1 01
2 01
...
5 UNKNOWN
10.NVL2()
select id, NVL2(id_type, 'KNOW', 'UNKNOWN') from test
id NVL2(ID_TYPE, 'KNOW', 'UNKNOWN')
------------------------------
1 KNOW
2 KNOW
...
5 UNKNOWN
11.REPLACE()
select REPLACE(id_type, '01', '身份证')
from test
REPLACE(id_type, '01', '身份证')
--------------------------------
身份证
身份证
12.SOUNDEX()
SOUNDEX(x):用于获得包含x发音的字符串,该函数用于对英文拼写不同但发音相似的单词进行比较
13.SUBSTR()
SUBSTR():截取字符
select SUBSTR('Hello world' , 1, 4) from dual;
SUBSTR('HELLOWORLD',1,4)
---------------------
Hell