VARBINARY スカラー関数

VARBINARY 関数は、任意のデータ・タイプのストリングの VARBINARY (可変長バイナリー・ストリング) 表現を戻します。

構文図を読む構文図をスキップするVARBINARY(string-expression , integer)

スキーマは SYSIBM です。

string-expression
ストリング・データ・タイプの値を戻す式。
integer
結果の VARBINARY データ・タイプの長さ属性を指定する整数定数の値。 1 から 32672 までの範囲の値でなければなりません。integer を指定しない場合、結果の長さ属性は、以下の値の小さいほうになります。
  • VARBINARY データ・タイプの最大長
  • バイト単位で表された string-expression のデータ・タイプの長さ属性
    • string-expression が、バイナリー・ストリング、FOR BIT DATA の文字ストリング、またはストリング単位 OCTETS の文字ストリングの場合、長さ属性。
    • string-expression が、ストリング単位 CODEUNITS16 または 2 バイトのグラフィック・ストリングの場合、長さ属性の 2 倍
    • string-expression が、ストリング単位 CODEUNITS32 の文字ストリングまたはグラフィック・ストリングの場合、長さ属性の 4 倍

string-expression の長さ属性がゼロで、integer 引数を指定していない場合、結果の長さ属性は 1 になります。

関数の結果は VARBINARY です。 最初の引数が NULL になる可能性がある場合、結果も NULL になる可能性があります。 最初の引数が NULL であれば、結果は NULL 値になります。

結果の実際の長さは、結果の長さ属性と、string-expression の実際の長さ (バイト単位) の小さいほうになります。 バイナリー・ストリングに変換された string-expression の長さが、結果の長さ属性より長い場合、切り捨てが実行されます。 以下の状況では警告 (SQLSTATE 01004) が戻されます。
  • 最初の引数が文字ストリングまたはグラフィック・ストリング (CLOB および DBCLOB を除く) であり、非ブランク文字が切り捨てられる。
  • 最初の引数がバイナリー・ストリング (BLOB を除く) であり、非 16 進ゼロが切り捨てられる。

  1. 次の関数は、長さ属性が 1、実際の長さが 0、値が空ストリングの可変長バイナリー・ストリングを戻します。
       SELECT VARBINARY('',1) 
         FROM SYSIBM.SYSDUMMY1
  2. 次の関数は、長さ属性が 5、実際の長さが 3、値が BX'4B4248' の可変長バイナリー・ストリングを戻します。
       SELECT VARBINARY('KBH',5) 
         FROM SYSIBM.SYSDUMMY1
  3. 次の関数は、長さ属性が 3、実際の長さが 3、値が BX'4B4248' の可変長バイナリー・ストリングを戻します。
       SELECT VARBINARY('KBH') 
         FROM SYSIBM.SYSDUMMY1
  4. 次の関数は、長さ属性が 3、実際の長さが 3、値が BX'4B4248' の可変長バイナリー・ストリングを戻します。
       SELECT VARBINARY('KBH ',3) 
         FROM SYSIBM.SYSDUMMY1
  5. 次の関数は、長さ属性が 3、実際の長さが 3、値が BX'4B4248' の可変長バイナリー・ストリングを、警告 (SQLSTATE 01004) と共に戻します。
       SELECT VARBINARY('KBH 93',3) 
         FROM SYSIBM.SYSDUMMY1