数値データからストリング・データへの暗黙的なキャスト

Db2 が数値値を暗黙的に文字列値にキャストする場合、ターゲットの型はVARCHAR値となり、他の文字列またはグラフィック文字列データ型と互換性があります。

キャストの結果の長さ属性および CCSID 属性は、VARCHAR と同様に判別されます。 GRAPHIC データ・タイプまたは VARGRAPHIC データ・タイプが含まれる場合、コード化スキームは UNICODE である必要があります。 次の表に、ターゲット・タイプと長さを示します。

表 1. 数値タイプからストリング・タイプへの暗黙的キャストのターゲット・タイプと長さ属性
ソース・データ・タイプ ターゲット・データ・タイプ
SMALLINT VARCHAR(6)
INTEGER VARCHAR(11)
BIGINT VARCHAR(20)
NUMERIC または DECIMAL VARCHAR (precision+2 )
REAL VARCHAR(24)
FLOAT VARCHAR(24)
DOUBLE VARCHAR(24)
DECFLOAT VARCHAR(42)

数値からストリング値への暗黙的な変換は、以下の場合に発生します。

  • 割り当て (ソース値は数値、ターゲット・オペランドは文字ストリングまたはグラフィック・ストリング・データ・タイプ)。

    割り当てステートメントの中で、特殊レジスターに対する SET ステートメント、関数の RETURN 節および RETURN ステートメント、および SQL 制御ステートメント (RETURN、SIGNAL、および RESIGNAL) の場合、暗黙的キャストはサポートされません。

  • 連結演算子の適用 (CONCAT および ||)
  • セット演算子の適用。
暗黙的な変換は、以下の場合にサポートされません。
  • セット演算子の一方のオペランドが数値で、もう一方のオペランドがストリング値である
  • 数値が、セット演算子を含んだ全選択の結果であるストリング値と比較されているか、またはそのストリング値に割り当てられている
  • SELECT INTO ステートメントのターゲットになっているグローバル変数への割り当て