TRANSLATE
TRANSLATE 関数は、 式 の中の 1 つ以上の文字を他の文字に変換した値を戻します。
>>-TRANSLATE----------------------------------------------------> >--(--expression--+----------------------------------------------+--)->< '-,--to-string--+----------------------------+-' '-,--from-string--+--------+-' '-,--pad-'
- expression
- 変換されるストリングを指定する式。 式 は、任意の組み込み数値またはストリング・データ・タイプでなければなりません。 数値引数は、関数を評価する前に文字ストリングにキャストされます。 数値から文字ストリングへの変換の詳細については、VARCHARを参照してください。
- to-string
- 式 の中の特定の文字をどの
ような文字に変換するかを指定するストリング。
このストリングは出力変換表 とも呼ばれます。
このストリングは任意の組み込み数値またはストリング定数でなければなりません。
数値引数は、関数を評価する前に文字ストリングにキャストされます。
数値から文字ストリングへの変換の詳細については、VARCHARを参照してください。
文字ストリング引数の実際の長さは、256 以下でなければなりません。
変換先ストリング の実際の長さが変換元ストリング の 実際の長さ より小さい場合、変換先ストリング は、 埋め込み 文字が指定されている場合はその文字で、埋め込み 文字が指定されていない 場合はブランクで、長い方の長さに合わせて埋められます。変換先ストリング の実際の長さ が変換元ストリング の実際の長さよりも大きい場合、変換先ストリング 中の余分な 文字は無視され、警告は出されません。
- from-string
- 式 の中のどの文字を変換するのかを指定するストリング。
このストリングは入力変換表 とも呼ばれます。
変換元ストリング に指定されている文字のいずれかが式 の中に見つかると、その文字
は、変換先ストリング の中の文字のうち、変換元ストリング でのその文字と同じ位置にある文字に変換されます。
このストリングは任意の組み込み数値またはストリング定数でなければなりません。 数値引数は、関数を評価する前に文字ストリングにキャストされます。 数値から文字ストリングへの変換の詳細については、VARCHARを参照してください。 文字ストリング引数の実際の長さは、256 以下でなければなりません。
変換元ストリング に重複する文字がある場合は、左からスキャンした最初の文字が使用され、警告は出されません。変換元ストリング のデフォルト値は、文字 X'00' で始まり、文字 X'FF' (10 進数 255) で終わるストリングです。
- pad
- to-string の長さが from-string より短い 場合に埋め込む文字を指定するストリング。このストリングは、長さが 1 の文字ストリング定数でなければなりませ ん。デフォルト値は SBCS のブランクです。
最初の引数が Unicode グラフィックまたは UTF-8 ストリングの場合は、 他の引数を指定することができません。
最初の引数だけが指定されている場合は、引数の SBCS 文字は、 その引数の CCSID に基づいて、大文字に変換されます。 SBCS 文字だけが変換されます。 a から z の文字は A から Z に変換され、発音記号付きの文字はそれぞれの大文字に変換されます。 最初の引数が UTF-16、UCS-2、または UTF-8 の場合は、 英字の UTF-16、UCS-2、または UTF-8 の文字は大文字に変換されます。 この変換に使用する大文字変換表については、「グローバリゼーション」トピック集にあるトピック UCS-2 レベル 1 マッピング・テーブルを参照してください。
複数の引数を指定した場合は、結果のストリングは、変換元ストリング の文字を変換先ストリング の対応する文字に変換して、1 文字ずつ 式 から構築されます。 式 の中の各文字ごとに、同一文字が 変換元ストリング で検索されます。 同じ文字が from-string の n 番目の文字として 検出された場合、結果として得られるストリングは to-string から の n 番目の文字を含むことになります。変換先ストリング が n 文字より短い場合は、結果のストリングには埋め込み文字が入ります。 その文字が変換元ストリング に見つからない場合は、未変換のまま結果のストリングに移されます。
変換はバイト基準で行われ、使用を誤った場合は、結果的に無効の混合ストリングになります。SRTSEQ 属性は、TRANSLATE 関数には適用されません。
この関数の結果のデータ・タイプ、長さ属性、実際の長さ、および CCSID は、引数と同じになります。 最初の引数が NULL になる可能性がある場合は、結果も NULL になる可能性がありま す。 引数が NULL である場合は、結果は NULL 値です。
例
- ストリング「abcdef」を大文字変換します。
「ABCDEF」の値が戻されます。SELECT TRANSLATE('abcdef') FROM SYSIBM.SYSDUMMY1
- 混合文字ストリングを大文字変換します。
SELECT TRANSLATE()
FROMSYSIBM.SYSDUMMY1
次の値が戻されます。
- ホスト変数 SITE が、「Pivabiska Lake Place」という値の可変長文字ストリングである場合
値「Pivabiska $ake Place」が戻されます。SELECT TRANSLATE(:SITE, '$', 'L') FROM SYSIBM.SYSDUMMY1
値「Pivabiska $ake P$ace」が戻されます。SELECT TRANSLATE(:SITE, '$$', 'Ll') FROM SYSIBM.SYSDUMMY1
値 'pivAbiskA LAk. pLA..' が戻されます。 .SELECT TRANSLATE(:SITE, 'pLA', 'Place', '.') FROM SYSIBM.SYSDUMMY1