OracleBronze11gSQL基礎〜単一関数〜

じゃ前回に続いて単一関数


▲今日は文字関数
文字関数は文字を受け取って数値か文字を返します。([]は省略可能)

                                                                                                                                                    • -

LENGTH関数
構文:LENGTH(文字列)
文字列の長さを数値で返す

SELECT LENGTH('damePG') FROM DUAL;

結果6がが返ってくる。

                                                                                                                                                    • -

INSTR関数
構文:INSTR(文字列1,文字列2[,n,m])

--文字列1の中から文字列2が先頭から数えて何番目にあるか
SELECT INSTR('damePG','m') FROM DUAL;

結果3が返ってくる。

--文字列1のn番目から検索を開始して文字列2がm番目に現れる整数を返す
SELECT INSTR('damePG','P',3,1) FROM DUAL;

結果2が返ってくる

                                                                                                                                                    • -

SUBSTR関数
構文:SUBSTR(文字列,n[,m])
n番目の文字からm文字切り取る。
mを終了したらn番目から最後まで切り取る

--amePGって返ってくる
SELECT SUBSTR('damePG',2) FROM DUAL;

--amePって返ってくる
SELECT SUBSTR('damePG',2,4) FROM DUAL;
                                                                                                                                                    • -

INITCAP関数
構文:INITCAP(文字列)
頭文字を大文字にする。スペースで区切ったらキャメルケースっぽくなる

SELECT INITCAP('dame pg') FROM DUAL;

結果「Dame Pg」が返ってくる。

                                                                                                                                                    • -

UPPER(文字列)・・・・全部大文字なる
LOWER(文字列)・・・・全部小文字なる
CONCAT(文字列1,文字列2)・・・・文字列1と文字列2を連結する
(簡単なんで省略)

                                                                                                                                                    • -

LPAD関数
構文:LPAD(文字列,n[任意の1文字])
文字列をn桁になるように左に「任意の文字」を埋めて戻す。
任意の1文字を省略したら空白になる。

--damePG____って返ってくる(_は空白あらわす)
SELECT LPAD('damePG',10) FROM DUAL;

--damePG****って返ってくる
SELECT LPAD('damePG',10,*) FROM DUAL;
                                                                                                                                                    • -

RPAD・・・・LPADと同じ(LPADは左、RPADは右)
(簡単なんで省略)

                                                                                                                                                    • -

REPLACE関数
構文:REPLACE(文字列1,文字列2[,文字列3])
文字列1から文字列2を検索して文字列3に置換する。
文字列3を省略したら

(電車で友達と置換(ちかん)についてかたってたら
前の50代くらいのおばちゃんが車両変わらはった。
置換の話は文書だけのがいいね(苦笑))

--IKETERUPGと返ってくる
SELECT REPLACE('damePG','dame','IKETERU') FROM DUAL;

--PGと返ってくる
SELECT REPLACE('damePG','dame') FROM DUAL;