UNICODE_STR スカラー関数
UNICODE_STR 関数は、指定されたオプションに応じて、Unicode UTF-8 または UTF-16 のストリングを戻します。 このストリングは、入力ストリングの Unicode エンコードを表します。
スキーマは SYSIBM です。
- ストリング式
- 組み込み文字またはグラフィック・ストリングの値を戻す式。
- UTF8 または UTF16
- 結果の Unicode エンコードを指定します。
- UTF8 を指定すると、結果は Unicode UTF-8 文字ストリングとして戻されます。
- UTF16 を指定すると、結果は Unicode UTF-16 グラフィック・ストリングとして戻されます。
結果
関数の結果は、2 番目の引数によって決まります。
- UTF8 が指定されている場合、結果は VARCHAR になります。
- UTF16 が指定されている場合、結果は VARGRAPHIC になります。
結果の長さ属性は、2 番目の引数 (UTF8 または UTF16) によって決まります。
- 2 番目の引数が UTF8 である場合、結果の長さ属性は MIN(n,32672) OCTETS です。ここで、n は string-expression の長さ属性とストリング単位によって以下のように決まります。
- string-expression にストリング単位 OCTETS が格納されている場合、n は入力ストリングの長さ属性です。
- string-expression にストリング単位 CODEUNITS16が含まれている場合、 n は入力ストリングの長さ属性の 2 倍です。
- string-expression にストリング単位 CODEUNITS32が含まれる場合、 n は入力ストリングの長さ属性の 4 倍です。
- 2 番目の引数が UTF16の場合、結果の長さ属性は MIN (n, 16336) CODEUNITS16です。 n は、ストリング式の長さ属性とストリング単位によって次のように異なります。
- string-expression にストリング単位 OCTETS または CODEUNITS16が含まれている場合、 n は入力ストリングの長さ属性です。
- string-expression にストリング単位 CODEUNITS32が含まれている場合、 n は入力ストリングの長さ属性の 2 倍です。
注
代替構文として、UNISTR を UNICODE_STR のシノニムとして指定できます。
以下の例では、引数に対応する Unicode UTF-8 ストリングを表す VARCHAR 値を、ホスト変数 HV1 に設定します。
SET :HV1 = UNICODE_STR('Hi, my name is \5CF0');
HV1 には、「Hi, my name is 峰」という値を持つ Unicode UTF-8 ストリングが割り当てられます。