UNICODE_STR スカラー関数

UNICODE_STR 関数は、指定されたオプションに応じて、Unicode UTF-8 または UTF-16 のストリングを戻します。 このストリングは、入力ストリングの Unicode エンコードを表します。

Read syntax diagramSkip visual syntax diagram UNICODE_STR ( string-expression UTF8UTF16 )

スキーマは SYSIBM です。

ストリング式
組み込み文字またはグラフィック・ストリングの値を戻す式。
文字ストリングはビット・データであってはなりません。
円記号 (「¥」) が先行する値は、Unicode UTF-16 文字として扱われます。例えば、「¥0041」は「A」の Unicode UTF-16 表記です。
2 つの円記号 (「¥¥」) は、ストリング内の円記号を示します。
2 つの円記号の一部ではない円記号の後には、4 桁の 16 進数字が続く必要があります (SQLSTATE 42815)。
式に含まれる部分サロゲート文字は、ブランクに置き換えられます。
引数を数値データ・タイプにすることもできます。
数値引数は、暗黙的に VARCHAR データ・タイプにキャストされます。
UTF8 または UTF16
結果の Unicode エンコードを指定します。
  • UTF8 を指定すると、結果は Unicode UTF-8 文字ストリングとして戻されます。
  • UTF16 を指定すると、結果は Unicode UTF-16 グラフィック・ストリングとして戻されます。
UTF8 はデフォルトです。

結果

関数の結果は、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 ストリングが割り当てられます。