BINARY スカラー関数
BINARY 関数は、任意のデータ・タイプのストリングの固定長バイナリー・ストリング表現を戻します。
スキーマは SYSIBM です。
- string-expression
- 文字ストリング、GRAPHIC ストリング、またはバイナリー・ストリングのデータ・タイプの値を返す式。
- integer
- 結果の BINARY データ・タイプの長さ属性を指定する整数定数の値。
1 から 255 までの範囲の値でなければなりません。integer を指定しない場合、結果の長さ属性は、以下の値の小さいほうになります。
- BINARY データ・タイプの最大長
- バイト単位で表された string-expression のデータ・タイプの長さ属性
- string-expression が、バイナリー・ストリング、FOR BIT DATA の文字ストリング、またはストリング単位 OCTETS の文字ストリングの場合、長さ属性。
- string-expression が、ストリング単位 CODEUNITS16 または 2 バイトのグラフィック・ストリングの場合、長さ属性の 2 倍
- string-expression が、ストリング単位 CODEUNITS32 の文字ストリングまたはグラフィック・ストリングの場合、長さ属性の 4 倍
string-expression が空ストリングで、integer 引数が指定されていない場合、エラーが戻されます (SQLSTATE 42815)。
関数の結果は BINARY です。 最初の引数が NULL になる可能性がある場合、結果も NULL になる可能性があります。 最初の引数が NULL であれば、結果は NULL 値になります。
実際の長さは、結果の長さ属性と同じになります。バイナリー・ストリングに変換された string-expression の長さが、結果の長さ属性より短い場合、結果の長さになるまで 16 進ゼロが結果に埋め込まれます。 バイナリー・ストリングに変換された string-expression の長さが、結果の長さ属性より長い場合、切り捨てが実行されます。
以下の状況では警告 (SQLSTATE 01004) が戻されます。
- 最初の引数が文字ストリングまたはグラフィック・ストリング (CLOB および DBCLOB を除く) であり、非ブランク文字が切り捨てられる。
- 最初の引数がバイナリー・ストリング (BLOB を除く) であり、非 16 進ゼロが切り捨てられる。
例
-
次の関数は、長さ属性が 1 で、値が BX'00' の固定長バイナリー・ストリングを戻します。
SELECT BINARY('',1) FROM SYSIBM.SYSDUMMY1 - 次の関数は、長さ属性が 5 で、値が BX'4B42480000' の固定長バイナリー・ストリングを戻します。
SELECT BINARY('KBH',5) FROM SYSIBM.SYSDUMMY1 - 次の関数は、長さ属性が 3 で、値が BX'4B4248' の固定長バイナリー・ストリングを戻します。
SELECT BINARY('KBH') FROM SYSIBM.SYSDUMMY1 - 次の関数は、長さ属性が 3 で、値が BX'4B4248' の固定長バイナリー・ストリングを戻します。
SELECT BINARY('KBH ',3) FROM SYSIBM.SYSDUMMY1 - 次の関数は、長さ属性が 3 で、値が BX'4B4248' の固定長バイナリー・ストリングを、警告 (SQLSTATE 01004) と共に戻します。
SELECT BINARY('KBH 93',3) FROM SYSIBM.SYSDUMMY1
