TRANSLATE

TRANSLATE 関数は、それぞれの文字を別の文字に変更するか、または未変換のまま、string を戻します。 この関数を使用して、string 内の文字を並べ替えることもできます。

構文図を参照するビジュアルシンタックスダイアグラムをスキップする TRANSLATE( ストリング ,テーブルオ,テーブル,埋め込む )

出力テーブルは tableo であり、入力変換テーブルは tablei です。 TRANSLATE は、string 内の各文字を tablei から探します。 文字が見つかると、tableo 内の対応する文字が結果のストリングに入ります。tablei 内の文字が重複する場合には、最初 (左端) の文字が使用されます。 文字が見つからない場合には、string 内の元の文字が使用されます。 結果のストリングの長さは、必ず string と同じ長さになります。

テーブルは、どのような長さでも構いません。 変換テーブルを指定せず、さらに pad も省略した場合、string は単に大文字に変換されます (つまり、小文字の a から z が大文字の A から Z に変換されます)。また、変換テーブルは指定しないが pad は指定した場合は、言語処理プログラムはストリング全体を pad 文字に変換します。 tablei のデフォルトは XRANGE('00'x,'FF'x)tableo のデフォルトはヌル・ストリングとなり、必要に応じて pad で埋め込まれるか、切り捨てられます。 デフォルトの pad は、ブランクです。

TRANSLATE('abcdef')                    ->    'ABCDEF'
TRANSLATE('abbc','&','b')              ->    'a&&c'
TRANSLATE('abcdef','12','ec')          ->    'ab2d1f'
TRANSLATE('abcdef','12','abcd','.')    ->    '12..ef'
TRANSLATE('APQRV',,'PR')               ->    'A Q V'
TRANSLATE('APQRV',XRANGE('00'X,'Q'))   ->    'APQ  '
TRANSLATE('4123','abcd','1234')        ->    'dabc'
:最後の例では、TRANSLATE関数を使用して文字列内の文字を並べ替える方法を示しています。 この例では、2 番目の引数として指定された 4 文字のストリングの最後の文字が、ストリングの先頭に移動されます。