TRANSLATE
文字列内のある文字をある文字に置換し、その結果の文字列を戻します。
文字毎の置換。
置換前文字列と置換後文字列の文字単位で置換の前後の対象になる。
形式
構文
-
TRANSLATE(対象文字列, 置換後文字列, 置換前文字列 [, 補填文字])
引数
引数名 | 型 | 内容 |
---|---|---|
対象文字列 | 文字列 | 対象の文字列 |
置換後文字列 | 文字列 | 置き換える前の文字の列 |
置換前文字列 | 文字列 | 置き換えた後の文字の列 |
補填文字 | 文字列 | 置換後文字列に対応する文字がない場合に指定する文字。 デフォルト値は' 'が設定される。 |
戻り値
-
置換後の文字列。
実行例
英大文字を小文字に変換
'SATO TARO'を'sato taro'に変換。
SQL> SELECT TRANSLATE('SATO TARO', 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ') 2 FROM SYSIBM.DUAL; 1 ----------- sato taro
ハイフン'-'を除去
'100-0099'を'1000099'に変換。
郵便番号の不要文字を除去するイメージ。
SQL> SELECT TRANSLATE('100-0099', '', '-', '') FROM SYSIBM.DUAL; 1 ---------- 1000099