ASCII_STR スカラー関数
ASCII_STR 関数は、ASCII バージョンのストリングを返します。
スキーマは SYSIBM です。
- 文字列式
- 組み込み文字またはグラフィック・ストリングの値を戻す式。
ASCII_STR は、ASCII バージョンのストリングを返します。 非 ASCII 文字は UTF-16 文字に変換され、¥xxxx (サロゲート文字の場合は ¥xxxx¥yyyy) の形式で結果に表示されます。ここで、xxxx および yyyy は UTF-16 コード単位を表します。 string-expression の円記号は、二重の円記号に変換されます。
結果のストリング単位は OCTETS です。
- string-expression のストリング単位が OCTETS または CODEUNITS16 になっている場合、n は入力ストリングの長さ属性になります。
- string-expression のストリング単位が CODEUNITS32 になっている場合、n は入力ストリングの長さ属性の 2 倍になります。
結果
関数の結果は、可変長文字ストリングです。
結果のストリングの実際の長さが戻りタイプの最大長を超えると、エラーが発生します (SQLSTATE 54006)。
引数が NULL になる可能性がある場合、結果も NULL になる可能性があります。 引数が NULL の場合、結果は NULL 値になります。
注
代替構文として、ASCIISTR を ASCII_STR のシノニムとして指定できます。
次の例は、Unicode (UTF-8) ストリング「4869206D616D6520697320D090D0BDD0B4D180D0B5D0B9202020F0908080」に相当する ASCII ストリングを返します。
SET :HV1 = ASCII_STR(X'4869206D616D6520697320D090D0BDD0B4D180D0B5D0B9202020F0908080');
:HV1 には、値「Hi, my name is ¥0410¥043D¥0434¥0440¥0435¥0439 ¥D800¥DC00」が割り当てられます。
この例では、UTF-8 文字 D090、D0BD、D0B4、D180、D0B5、および D0B9 は ¥0410¥043D¥0434¥0440¥0435¥0439 に変換され、非 ASCII 文字 F0908080 は ¥D800¥DC00 に変換されます。
SET :HV1 = ASCII_STR('Hi, my name is Андрей(Andrei)');
:HV1 には、値「Hi, my name is ¥0410¥043D¥0434¥0440¥0435¥0439 (Andrei)」が割り当てられます。
