- 論壇徽章:
- 8
|
本帖最后由 我忒忙 于 2016-07-12 16:52 編輯
本次主要總結(jié)了以下字符函數(shù)的作用及使用方法:
函 數(shù) 說 明
ASCII 返回對應(yīng)字符的十進(jìn)制值
CHR 給出十進(jìn)制返回字符
CONCAT 拼接兩個字符串,與 || 相同
INITCAT 將字符串的第一個字母變?yōu)榇髮?br />
INSTR 找出某個字符串的位置
INSTRB 找出某個字符串的位置和字節(jié)數(shù)
LENGTH 以字符給出字符串的長度
LENGTHB 以字節(jié)給出字符串的長度
LOWER 將字符串轉(zhuǎn)換成小寫
LPAD 使用指定的字符在字符的左邊填充
LTRIM 在左邊裁剪掉指定的字符
RPAD 使用指定的字符在字符的右邊填充
RTRIM 在右邊裁剪掉指定的字符
REPLACE 執(zhí)行字符串搜索和替換
SUBSTR 取字符串的子串
SUBSTRB 取字符串的子串(以字節(jié))
SOUNDEX 返回一個同音字符串
TRANSLATE 執(zhí)行字符串搜索和替換
TRIM 裁剪掉前面或后面的字符串
UPPER 將字符串變?yōu)榇髮?br />
NVL 以一個值來替換空值
1、ASCII(<xxx>)
<xxx>是字符串,返回與指定的字符對應(yīng)的十進(jìn)制數(shù)。
SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;
A a ZERO SPACE
---------- ---------- ---------- ----------
65 97 48 32
2、CHR(n])
給出整數(shù),返回對應(yīng)字符。如:
SQL> select chr(65) chr65 from dual;
C
-
A
3、CONCAT(<c1>,<c2>)
返回字符串c1與字符串c2合并后的值。例如:
SQL> select concat('010-','8801 8159') from dual;
CONCAT('01
-----------------
010-8801 8159
4、INITCAP(<c1>)
返回字符串c1 并第一個字母變?yōu)榇髮憽@纾?br />
SQL> select initcap('simth') upp from dual;
UPP
-----
Simth
5、INSTR(<c1>,<c2>[,<I>[,<j>] ] )
在一個字符串中搜索指定的字符,返回發(fā)現(xiàn)指定的字符的位置。
C1: 被搜索的字符串
C2: 希望搜索的字符串
I: 搜索的開始位置,缺省是1
J: 出現(xiàn)的位置,缺省是1。
SQL> SELECT INSTR ('Oracle Training', 'ra', 1, 2) "Instring" FROM DUAL;
Instring
----------
9
6、INSTRB(<c1>,<c2>[,<I>[,<j>] ] )
除了返回的字節(jié)外 ,與INSTR 相同,
7、LENGTH( <c> )
返回字符串 c 的長度。
SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from nchar_tst;
NAME LENGTH(NAME) ADDR LENGTH(ADDR) SAL LENGTH(TO_CHAR(SAL))
------ ------------ ---------------- ------------ ---------- ----------------
張五一 3 北京市海淀區(qū) 6 99999.99 8
8、LENGTHB( <c> )
以字節(jié)返回字符串的字節(jié)數(shù)。
SQL> select name,lengthb(name),length(name) from nchar_tst;
NAME LENGTHB(NAME) LENGTH(NAME)
------ ------------- ------------
張五一 6 3
9、LOWER ( <c> )
返回字符串并將所有字符變?yōu)樾憽?br />
SQL> select lower('AaBbCcDd') AaBbCcDd from dual;
AABBCCDD
--------
aabbccdd
10、UPPER( <c>)
與 LOWER 相反,將給出字符串變?yōu)榇髮。如?br />
SQL> select upper('AaBbCcDd') AaBbCcDd from dual;
AABBCCDD
--------
AABBCCDD
11、RPAD和LPAD
RPAD(string,Length[,'set'])
LPAD(string,Length[,'set'])
RPAD在列的右邊用特定的字符補(bǔ)齊;
LPAD在列的左邊用特定的字符補(bǔ)齊。
例1:
SQL>select RPAD(City,35,'.'),temperature from weather;
RPAD(City,35,'.') temperature
-------------------------- ----------------
CLEVELAND...... 85
LOS ANGELES.. 81
.........................
(即不夠35個字符用'.'補(bǔ)齊)
12、LTRIM(左截斷)RTRIM(右截斷)
LTRIM (string [,’set’])
Left TRIM (左截斷)刪去左邊出現(xiàn)的任何set 字符。
RTRIM (string [,’set’])
Right TRIM (右截斷)刪去右邊出現(xiàn)的任何set 字符。
例1:
SELECT RTRIM (‘Mother Theresa, The’, ‘The’) FROM DUAL;
RTRIM (‘M
---------------
Mother Theresa,
13、SUBSTR Substr(string,m[,n]) 截取字符串函數(shù)
substr("ABCDEFG", 0); //返回:ABCDEFG,截取所有字符
substr("ABCDEFG", 2); //返回:CDEFG,截取從C開始之后所有字符
substr("ABCDEFG", 0, 3); //返回:ABC,截取從A開始3個字符
substr("ABCDEFG", 0, 100); //返回:ABCDEFG,100雖然超出預(yù)處理的字符串最長度,但不會影響返回結(jié)果,系統(tǒng)按預(yù)處理字符串最大數(shù)量返回。
substr("ABCDEFG", -3); //返回:EFG,注意參數(shù)-3,為負(fù)值時表示從尾部開始算起,字符串排列位置不變。
14、SUBSTRB(string,m[,n])
對字串(或字段),從m字節(jié) 開始,連續(xù)取 n個字節(jié)并返回結(jié)果,如果沒有指n則一直取到尾。
15、REPLACE (‘string’ [,’string_in’,’string_out’])
String: 希望被替換的字符串或變量。
String_in: 被替換字符串。
String_out: 要替換字符串。
SQL> select replace ('111222333444','222','888') from dual;
REPLACE('111
--------------------
111888333444
更多Oracle精彩內(nèi)容請關(guān)注我:
![]() |
|