SQL単一行関数(文字関数)
本項では、SQL単一行関数のなかの、文字関数を紹介しております。文字関数とは入力として文字を受け取り、結果として文字または数値を戻す関数を言います。
@LENGTH関数
説明: LENGTH(文字列)・・・・文字列の長さを文字数で戻す。文字列がCHAR型の場合は固定長がもどされ、NULLの場合はNULLが戻される。LENGTH関数は文字数で、LENGTHB関数がバイト数を戻します。
使用例)LENGTH関数とLENGTHB関数の戻り値の比較
SQL> SELECT LENGTH('漢字'),LENGTH('KANJI'),LENGTHB('漢字'),LENGTHB('KANJI')
FROM DUAL;
LENGTH('漢字') LENGTH('KANJI') LENGTHB('漢字') LENGTHB('KANJI')
-------------- --------------- --------------- ----------------
2 5 6 5
|
AINSTR関数
説明: INSTR(文字列1,文字列2,[n,m])・・・・文字列1のn番目の文字から文字列2を検索し、文字列2がm番目に現れる位置を戻す。n,mはデフォルトは1となります。
使用例)TESTのなかで2番目にTの位置を返す
SQL> SELECT INSTR('TEST','T',1,2) FROM DUAL;
INSTR('TEST','T',1,2)
---------------------
4
|
BSUBSTR関数
説明: SUBSTR(文字列,n[m])・・・・文字列n番目の文字からm文字の長さの文字列を抜き出し戻す。mを省略すると最後までとなる。
使用例)TESTの2文字目から最後までを表示する
SQL> SELECT SUBSTR('TEST',2) FROM DUAL;
SUBSTR
------
EST
|
CINITCAP関数
説明: INITCAP(文字列)・・・・各単語の最初の文字を大文字、残りの文字を小文字にして戻します。空白または英数字以外の文字で区切られたものを一つの単語とみなします。
使用例)INTER NATIONAL-CUPがINITCAPの各単語の先頭を大文字にし残りを小文字で表示します。
SQL> SELECT INITCAP('INTER NATIONAL-CUP') FROM DUAL;
INITCAP('INTERNATIONAL-CUP')
------------------------------------
Inter National-Cup
|
DUPPER関数
説明: UPPER(文字列)・・・・文字列を大文字に戻します。
ELOWER関数
説明: LOWER(文字列)・・・・文字列を小文字に戻します。
FCONCAT関数
説明: CONCAT(文字列1、文字列2)・・・・文字列1と文字列2を結合し、一つの文字列として戻します。
使用例)GoodとMorningを結合し「GoodMorning」にして戻します。
SQL> SELECT CONCAT('Good','Morning') FROM DUAL;
CONCAT('GOOD','MORNING
----------------------
GoodMorning
|
GLPAD/RPAD関数
説明: LPAD(文字列,n,[パディング文字列])・・・・文字列をn桁になるように左にパディング文字を埋めて戻します。デフォルトはパディング文字列は空白です。
説明: RPAD(文字列,n,[パディング文字列])・・・・文字列をn桁になるように右にパディング文字を埋めて戻します。デフォルトはパディング文字列は空白です。
使用例)LPAD、RPAD関数を使用し、10桁表示のパディング文字列*で表示する。
SQL> SELECT LPAD(1000,10,'*'),RPAD(1000,10,'*') FROM DUAL;
LPAD(1000,10,'*') RPAD(1000,10,'*')
-------------------- --------------------
******1000 1000******
|
HTRIM関数
説明: TRIM([LEADING | TRAILING | BOTH] [文字列1 FROM] 文字列2)・・・・文字列2の先頭(LEADING)、最後(TRAILING)または両方(BOTH)から文字列1を切り捨てる。デフォルトはBOTHとなり、文字列1を省略した場合は、空白となる。
使用例)TEST1からTを切り捨てる。
SQL> SELECT TRIM('T' FROM 'TEST1') FROM DUAL;
TRIM('T'
--------
EST1
|
IREPLACE関数
説明: REPLACE(文字列1,文字列2,[文字列3])・・・・文字列1の中から文字列2を探し、文字列3に置換する。文字列3を省略した際は、文字列1からすべての文字列2が取り除かれる
使用例)TEST1_TEST2のTESTをテストに置き換える。
SQL> SELECT REPLACE('TEST1_TEST2','TEST','テスト') FROM DUAL;
REPLACE('TEST1_TEST2','TEST','テスト')
------------------------------------------
テスト1_テスト2
|
|
スポンサードリンク
|