単一行関数 ~文字関数の紹介~ 後編
みなさん、こんにちは。
どうも、さいばーきゃっとです。
今回は、前回の続きになり、各文字関数を解説していきます。
前回の記事
文字関数(おさらい)
文字関数は、文字データ(CHAR型、VARCHAR型)を受け取り、文字データ(一部数値データもあり)で戻す関数です。
今回は、下記の表を使用して、各文字関数の構文と使用方法を説明していきます。
INSTR関数
INSTR関数は、「指定した文字パターンが現れる位置」を戻す関数です。
引数として受け入れた文字列1のm文字目から文字列2を検索し、n回目に一致した文字列の位置(先頭からの文字数)を戻します。
※)mおよびn省略可能。その場合、デフォルト値は「1」です。
※)文字列1の中に文字列2がない場合が、「0」を戻します。
以下の例では、INSTR関数の引数に、「英語表記(大)」列を指定して、「LE」の文字パターンが現れる位置を表示しています。
上記の表を見てわかるように、
・「APPLE」の文字列の中から「LE」が現れるのは、「4」文字目からなので、「4」と表示されます。
・「GOOGLE」の文字列の中から「LE」が現れるのは、「5」文字目からなので、「5」と表示されます。
・「MICROSOFT」の文字列の中には「LE」が存在しないので、「0」と表示されます。
LPAD関数
LPAD関数は、引数として受け入れた文字列がn文字になるように、左側に「埋め込み文字」を埋め込んで戻す関数です。
以下の例では、LPAD関数の引数に、「英語表記(大)」列を指定して、左側に「*」埋め込んで、文字全体を「15」文字にして表示しています。
RPAD関数
RPAD関数は、引数として受け入れた文字列がn文字になるように、右側に「埋め込み文字」を埋め込んで戻す関数です。
以下の例では、RPAD関数の引数に、「英語表記(大)」列を指定して、右側に「*」埋め込んで、文字全体を「15」文字にして表示しています。
REPLACE関数
REPLACE関数は、引数として受け入れた文字列のうち、変更前文字列を変更後文字列に置き換えた文字列を戻す関数です。
※)変更後文字列が省略された場合は、文字列から変更前文字列を削除した文字列を戻します。
以下の例では、REPLACE関数の引数に、「英語表記(大)」列を指定して、「英語表記(大)」列の値の「LE」を「る」に置き換えて表示しています。
上記の表を見てわかるように、
・「APPLE」の文字列から「LE」を「る」に置き換えて表示します。
・「GOOGLE」の文字列から「LE」を「る」に置き換えて表示します。
・「MICROSOFT」の文字列の中には「LE」が存在しないので、何も置き換えません。
また、REPLACE関数は、置換だけではなく、削除としても使用することができます。
以下の例では、REPLACE関数の引数に、「英語表記(大)」列を指定して、「英語表記(大)」列の値の「LE」を削除して表示しています。
上記のSELECT文では、変更後文字列を指定していません。この場合、文字列から変更前文字列を削除して表示します。
まとめ
いかがでしたでしょうか。
3週に渡って、文字関数について紹介させていただきました。
今回からもわかるように、関数の種類はとても多いです。
SQLPLUSを使用して、実際に関数を使用してみるのが、一番早く身につく近道だと思います。
次回からは数値関数について、解説していきます。