一、字符函数
1、ASCII (<str >)
str 是字符串,返回str 第一个字母的ASCII 码,它的逆函数是CHR (),例如:
SELECT ASCII ('A ') BIG_A , ASCII ('z ') BIG_Z FROM emp ;
返回结果:
BIG_A BIG_Z
65 122
2、CHR (<i >)[NCHAR_CS]
i是一个数字,函数返回十进制表示的字符,例如
SELECT CHR (65 ), CHR (122 ), CHR (223 ) FROM emp ;
返回结果:
CHR65 CHR122 CHR223
A z B
3、CONCAT (str1 , str2 )
其中str1 、str2 均为字符串,函数将str2 连接到str1 的后面,如果str1 为Null ,则返回str2 ;如果str2 为Null 则返回str1 ;如果str1 、str2 都为Null ,则返回Null 。它和操作符|| 返回的结果相同。例如:
SELECT CONCAT ('slobo ', 'Svoboda') username FROM dual ;
返回结果:
Username
slobo Svoboda
4、INITCAP (str )
str 为字符串,函数将每个单词的第一个字母大写,其他字母小写返回;单词由空格、控制字符、标点符号限制。例如:
SELECT INITCAT ('veni ,vedi ,vici ') Ceasar FROM dual ;
返回结果:
Ceasar
Veni,Vedi,Vici
5、INSTR (str1 , [str2 , <i >[, j ]])
str1 、str2 均为字符串,i 、j 为整数;函数返回str2 在str1 中第i 次出现的位置,搜索从str1 的第j 个字符开始。当没有发现需要的字符时返回0,如果i 为负数,那么搜索将从右到左进行,但是位置的计算还是从左道右,i 和j 的默认值为1。例如:
SELECT INSTR('Mississippi ', 'i ', 3 , 3 ) FROM dual ;
返回结果:
INSTR('MISSISSIPPI', 'I', 3, 3)
11
再例如:
SELECT INSTR ('Mississippi ', 'i ', -2 , 3 ) FROM dual ;
返回结果:
INSTR('MISSISSIPPI', 'I', -2, 3)
2
6、INSTRB (str1 , [str2 , <i >[, j ]])
与INSTR ()函数一样,只是其返回的是字节,对于单字节INSTRB ()等于INSTR ()。
7、LENGTH (str )
str 为字符串,返回str 的长度,如果str 为Null ,那么将返回Null 值。例如:
SELECT LENGTH ('Ipso Facto ') ergo FROM dual ;
返回结果:
Ergo
10
8、LENGTHB (str )
与LENGTH ()一样,只是其返回的是字节长度。
9、LOWER (c )
返回c 的小写字符,经常出现在WHERE 子串中。例如:
SELECT LOWER (colorname ) FROM itemdetail WHERE LOWER (colorname ) LIKE '%white %';
返回结果:
COLORNAME
Winterwhite
10、LPAD (str1 , <i >[, str2 ])
str1 、str2 均为字符串,i 为整数。在str1 的左侧用str2 字符串补足致长度i ,可多次重复,如果i 小于str1 的长度,那么只返回i 长的str1 字符串,其他的将被截去。str2 的默认值为单空格,参见RPAD ()。
11、LTRIM (str1 , str2 )
把str1 中最左边的字符去掉,使其第一个字符不在str2 中;如果没有str2 ,那么str1 就不会改变。例如:
SELECT LTRIM ('Mississippi ', 'Mis ') FROM dual ;
返回结果:
LTR
ppi
12、RPAD (str1 , <i >[, str2 ])
在str1 的右侧用str2 字符串补足足致长度i ,可多次重复;如果i 小于str1 的长度,那么只返回i 长得str1 字符,其他将被截去。str2 的默认值为单空格,其他与LPAD ()相似。
13、RTRIM (str1 , str2 )
把str1 中最右边的字符去掉,使其最后一个字符不在str2 中;如果没有str2 ,那么str1 就不会改变。与LTRIM ()相似。
14、REPLACE (str1 [, str2 [, str3 ]])
str1 、str2 、str3 均为字符串,函数用str3 代替出现在str1 中的str2 后返回。例如:
SELECT REPLACE ('uptown ', 'up ', 'down ') FROM dual ;
返回结果:
REPLACE
downtown
15、SUBSTR (str, <i>[, j])
str为字符串,i、j为整数,从str的第i位开始返回长度为j的子字符串,如果j为空砸直到串的尾部。
16、SUBSTRB (str , <i >[, j ])
与SUBSTR ()大致相同,只是i 、j 是以字节计算。
17、SOUNDEX (str)
返回与str发音相似的词。
18、TRANSLATE (str1 , str2 , str3 )
将str1 、str2 中相同的字符以str3 代替。
19、TRIM ([{{LEADING | TRAILING | BOTH }[ trim_character ] | trim_character } FROM] str )
从字符串str 中删除指定的字符trim_character 。
LEADING :从字符串的头开始删除。
TRAILING :从字符串的尾部开始删除。
BOTH :从字符串的两边删除。
20、UPPER (str )
返回str 的大写,常出现在WHERE 子串中。