1、ASCII(C)
说明:返回C的首字符在ASCII码中对应的十进制
举例:
SQL>SELECT ASCII('A') A,ASCII('a') B,ASCII('0') C,ASCII(' ') D FROM DUAL;
ABCD
-------------------- ---------- ----------
65974832
2、CHR(N)
说明:返回十进制ASCII码N对应的字符
举例:
SQL>SELECT CHR(65) A,CHR(97) B,CHR(48) C,CHR(32) D FROM DUAL;
A B CD
- - --
A a 0
3、CONCAT(C1,C2)
说明:返回将C2添加到C1后面而形成的字符串。如果C1为NULL,那么返回C2;如果C2为NULL,那么返回C1;如果C1和C2都为NULL,那么返回NULL
举例:
SQL>SELECT CONCAT('010-','8888') A,CONCAT(NULL,'8888') B,CONCAT('010-',NULL)C,CONCAT(NULL,NULL) D FROM DUAL;
ABCD
------------ ---- -
010-88888888 010-
4、INITCAP(C)
说明:返回C的每个首字符都大写、其他字符都小写的字符串。单词之间以空格,控制字符和标点符号分界
举例:
SQL>SELECT INITCAP('you are') A FROM DUAL;
A
-------
YouAre
5、INSTR(C1,C2[,N[,M]])
说明:在C1中从N开始搜索C2第M次出现的位置,并返回该位置数字。如果N是负数,则搜索从右向左进行,但位置数字仍然从左向右计算。N和M默认都是1
举例:
SQL>SELECT INSTR('aabbccddee','cc') A,INSTR('aabbccddee','cc',5)B,INSTR('aabbccddeecc','cc',1,2) C,INSTR('aabbccddee','cc',-6) D FROM DUAL;
AB CD
-------------------- ---------- ----------
55115
6、LENGTH(C)
说明:返回C的长度。包括所有的后缀空格;如果C是空字符串或者NULL,则返回NULL
举例:
SQL> SELECT LENGTH('aabbccdd') A,LENGTH('') B,LENGTH(NULL) C FROM DUAL;
A B C
---------- ---------- ----------
8
7、LOWER(C)
说明:返回将C全部字符都小写之后的字符串
举例:
SQL>SELECT LOWER('AaBbCcDd') A FROM DUAL;
A
--------
aabbccdd
8、LPAD(C1,N[,C2])
说明:在C1的左边填充C2,直到字符串的总长度达到N。C2的默认值为空格。如果C1的长度大于N,则返回C1左边的N个字符
举例:
SQL>SELECT LPAD('aabbcc',8) A,LPAD('aabbcc',4) B,LPAD('aabbcc',8,'0') C FROM DUAL;
ABC
------------ --------
aabbcc aabb 00aabbcc
9、LTRIM(C1[,C2])
说明:去掉C1左边所包含的C2中的任何字符,当遇到不是C2中的字符时结束,然后返回剩余的字符串。C2默认为空格
举例:
SQL>SELECT LTRIM('aabb') A,LTRIM('00aabb00','0') B FROM DUAL;
AB
------------
aabbaabb00
10、NANVL(X,value)
说明:该函数只对BINARY_FLOAT和BINARY_DOUBLE起作用。如果X匹配NaN(即非数字),就返回value,否则返回X
举例(PL/SQL中无法执行,必须在SQLPLUS里执行):
SQL>CREATETABLENANVL_demo(dec_numNUMBER(10,2),bin_doubleBINARY_DOUBLE,bin_floatBINARY_FLOAT);
表已创建。
SQL>INSERTINTONANVL_demoVALUES(0,'NaN','NaN');
已创建1行。
SQL>SELECT*FROMNANVL_demo;
DEC_NUM BIN_DOUBLEBIN_FLOAT
---------- ---------- ----------
0NanNan
SQL>SELECTbin_float,NANVL(bin_float,0)FROMNANVL_demo;
BIN_FLOATNANVL(BIN_FLOAT,0)
---------- ------------------
Nan0
11、NVL(X,value)
说明:如果X为空,就返回value,否则返回X
举例:
SQL>SELECT NVL('','aabb') A,NVL(NULL,'aabb') B,NVL('aa','aabb') C FROM DUAL;
ABC
-------- --
aabbaabb aa
12、NVL2(X,value1,value2)
说明:如果X为空,就返回value1,否则返回value2
举例:
SQL>SELECT NVL2('','aabb','ccdd') A,NVL2(NULL,'aabb','ccdd')B,NVL2('aa','aabb','ccdd') C FROM DUAL;
ABC
-------- ----
ccddccdd aabb
13、REPLACE(C1,C2[,C3])
说明:把C1中出现的C2都置换成C3,然后返回剩余的字符串。C3默认为NULL。如果C3为NULL,那么所有出现C2的地方的字符都被删除;如果C2为NULL,则将返回C1;如果C1为NULL,则将返回NULL
举例:
SQL>SELECT REPLACE('aabbccaabb','aa','00') A,REPLACE('aabbccaabb','aa')B,REPLACE('aabbccaabb',NULL) C FROM DUAL;
ABC
---------------- ----------
00bbcc00bbbbccbb aabbccaabb
14、RPAD(C1,N[,C2])
说明:在C1的右边填充C2,直到字符串的总长度到达N。C2的默认值为空格。N是返回的字节长度的字符串,如果这个数量比原字符串的字节长度要短,RPAD函数将会把字符串截取成从左到右的N个字符
举例:
SQL>SELECT RPAD('aabbcc',8) A,RPAD('aabbcc',4) B,RPAD('aabbcc',8,'0') C FROM DUAL;
ABC
------------ --------
aabbccaabb aabbcc00
15、RTRIM(C1[,C2])
说明:去掉C1右边所包含的C2中的任何字符,当遇到不是C2中的字符时结束,然后返回剩余的字符串。C2默认为空格
举例:
SQL>SELECT RTRIM('aabb') A,RTRIM('00aabb00','0') B FROM DUAL;
AB
------------
aabb 00aabb
16、SUBSTR(C,M[,N])
说明:返回C的子串,其中M是子串开始的位置,N是子串的长度。如果M为0,则从C的首字符开始:如果M是负数,则从C的结尾的指定位置开始
举例:
SQL>SELECT SUBSTR('aabbccdd',3) A,SUBSTR('aabbccdd',3,2) B,SUBSTR('aabbccdd',-3,2)C FROM DUAL;
ABC
-------- --
bbccddbb cd
17、TRANSLATE(string,from_str,to_str)
说明:返回将(所有出现的)from_str中的每个字符替换为to_str中的相应字符以后的string。TRANSLATE是REPLACE所提供的功能的一个超集。如果from_str比to_str长,那么在from_str中而不在to_str中的额外字符将从string中被删除,因为它们没有相应的替换字符。to_str不能为空。Oracle将空字符串解释为NULL,并且如果TRANSLATE中的任何参数为NULL,那么结果也是NULL。
举例:
SQL>select TRANSLATE('aabbcc','aabb','0011') A,TRANSLATE('abcbbaadef','ba','#@')B,TRANSLATE('22AABBCC22','0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ','0123456789') Cfrom dual;
ABC
---------------- ----
0011cc@#c##@@def 2222
18、TRIM([C1] C2 FROM C3)
说明:其中,C1是保留宇,可以取如下字符串:LEADING、TRAILING和BOTH,C1必须和FROM一起使用。从C3字符串的C1处开始,删除C2字符,然后返回剩余的C3字符串。C1默认为BOTH。C2默认为空格。如果C1,C2,C3中有任何一个为NULL,则返回NULL
举例:
SQL>SELECT TRIM('aabb') A,TRIM(LEADING '0' FROM '00aabb00')B,TRIM(TRAILING '0' FROM '00aabb00') C,TRIM(BOTH '0' FROM '00aabb00') D FROMDUAL;
ABCD
---------- ------ ----
aabbaabb00 00aabb aabb
19、UPPER(C)
说明:返回将C全部字符都大写之后的字符串
举例:
SQL>SELECT UPPER('aabbccdd') A FROM DUAL;
A
--------
AABBCCDD