網頁

2011年8月12日 星期五

Oracle內建常用字串函數

字串的開始位置是1
字串函數傳回字串值
CHR, CONCAT, INITCAP, LOWER, LPAD, LTRIM, REPLACE, RPAD, RTRIM, SUBSTR, TRANSLATE, UPPER
字串函數傳回數字值
ASCII, INSTR, LENGTH


1. CHR(n)

將ASCII CODE轉換成database character set.
EX:
SQL> SELECT CHR(67)||CHR(72)||CHR(82) "CHR 範例" FROM dual;
CHR 範例
--------
CHR

2. CONCAT(string, string)

可連結兩字串
EX:
SQL> SELECT CONCAT('Hello, ', 'World!') "CONCAT 範例" FROM dual;
CONCAT 範例
-------------
Hello, World!

3. INITCAP(string)

將每一個字的字首轉換成大寫
EX:
SQL> SELECT INITCAP('oracle') "INITCAP 範例" FROM dual;
INITCAP 範例
------------
Oracle

4. LOWER(string)

將大寫字轉換成小寫
EX:
SQL> SELECT LOWER('ORACLE') "LOWER 範例" FROM dual;
LOWER 範例
----------
oracle

5. UPPER(string)

將小寫字轉換成大寫
EX:
SQL> SELECT UPPER('oracle') "UPPER 範例" FROM dual;
UPPER 範例
----------
ORACLE

6. LPAD(string1, n[, string2])

將字串右靠,不足n長度,則左補string2,string2預設是空白。
EX:
SQL> SELECT LPAD('Oracle', 10, 'X') "LPAD 範例" FROM dual;
LPAD 範例
----------
XXXXOracle

7. RPAD(string1, n[, string2])

將字串左靠,不足n長度,則右補string2,string2預設是空白。
EX:
SQL> SELECT RPAD('Oracle', 10, 'X') "RPAD 範例" FROM dual;
RPAD 範例
----------
OracleXXXX

8. LTRIM(string[, set])

從字串最左邊去除所有set字元,set預設為空白。
EX:
SQL> SELECT LTRIM('XXXXOracle', 'X') "LTRIM 範例" FROM dual;
LTRIM 範例
----------
Oracle

9. RTRIM(string[, set])

從字串最右邊去除所有set字元,set預設為空白。
EX:
SQL> SELECT RTRIM('OracleXXXX', 'X') "RTRIM 範例" FROM dual;
RTRIM 範例
----------
Oracle

10. REPLACE(string, search_string[, replace_string])

在字串中尋找search_string,找到後將其至換成replace_string,若是省略replace_string,則會將找到的search_string去除掉。
EX:
SQL> SELECT REPLACE('O1234e', '1234', 'racl') "REPLACE 範例" FROM dual;
REPLAC 範例
-----------
Oracle

11. TRANSLATE(string, from_string, to_string)

將string中的from_string改成to_string
EX:
SQL> SELECT TRANSLATE(1234512, '12345', 'ABCDE') "TRANSLATE 範例" FROM dual;
TRANSLATE 範例
--------------
ABCDEAB

12. SUBSTR(string,m[,n])

將字串由第m個字元開始擷取n個字元。
若m為0時,由第一個字元開始;m為負數時,由字串最後面開始算起。
若省略n,則會傳回m之後的所有字元。
若n為負數,則傳回NULL。
EX:
SQL> SELECT SUBSTR('abcdefg', 2, 4) "SUBSTR 範例" FROM dual;
SUBSTR 範例
-----------
bcde

SQL> SELECT SUBSTR('abcdefg', -4, 3) "SUBSTR 範例" FROM dual;
SUBSTR 範例
-----------
def

SQL> SELECT SUBSTR('abcdefg', 2) "SUBSTR 範例" FROM dual;
SUBSTR 範例
-----------
bcdefg

SQL> SELECT SUBSTR('abcdefg', 3, -3) "SUBSTR 範例" FROM dual;
SUBSTR 範例
-----------

13. INSTR(string1,string2[,n[,m]])

從string1中第n個字元開始尋找第m次遇到string2的位置。
n,m預設值為1,可省略。
EX:
SQL> SELECT INSTR('abcdefgabcdefg', 'cd') "INSTR 範例" FROM dual;
INSTR 範例
----------
3

14. LENGTH(string)

計算字串長度
EX:
SQL> SELECT LENGTH('abcedfg') "LENGTH 範例" FROM dual;
LENGTH 範例
-----------
7

15. ASCII(char)

取得字元的ascii碼
EX:
SQL> SELECT ASCII('A') "ASCII 範例" FROM dual;
ASCII 範例
----------
65

沒有留言:

張貼留言