SQLTYPE と SQLLEN
以下の表は、SQLDA の SQLTYPE および SQLLEN フィールドに入る値を示したものです。 PREPARE および DESCRIBE で使用した場合に、SQLTYPE の値が偶数ならば、その列には NULL が許されないことを示します。 また、SQLTYPE の値が奇数ならば、その列に NULL が許されることを示します。
注: DESCRIBE または PREPARE ステートメントで使用される SQLDA において、1 つのオペランドがNULL 可能であるか、または式の結果が -2 のマッピング・エラー NULL 値になる場合、
その式に奇数値が戻されます。
FETCH、OPEN、CALL、および EXECUTE で使用した場合、SQLTYPE の値が偶数ならば、標識変数が指定されていないことを意味し、奇数ならば、SQLIND に標識変数のアドレスが入っていることを意味します。
SQLTYPE | PREPARE および DESCRIBE の場合 | FETCH、OPEN、CALL、および EXECUTE の場合 | ||
---|---|---|---|---|
COLUMN DATA TYPE | SQLLEN | HOST VARIABLE DATA TYPE | SQLLEN | |
384/385 | 日付 3 | 10 | 日付の固定長文字ストリング表現 | ホスト変数の長さ属性 |
388/389 | 時刻 | 8 | 時刻の固定長文字ストリング表現 | ホスト変数の長さ属性 |
392/393 | タイム・スタンプ | TIMESTAMP(0)
の場合 19 それ以外で TIMESTAMP(p) の 場合 20+p |
タイム・スタンプの固定長文字ストリング表現 | ホスト変数の長さ属性 |
396/397 | データ・リンク | 列の長さ属性 | データ・リンク | ホスト変数の長さ属性 |
400/401 | 該当しない | 該当しない | NUL で終了するグラフィック・ストリング | ホスト変数の長さ属性 |
404/405 | BLOB | 0 2 | BLOB | 使用されません。 2 |
408/409 | CLOB | 0 2 | CLOB | 使用されません。 2 |
412/413 | DBCLOB | 0 2 | DBCLOB | 使用されません。 2 |
448/449 | 可変長文字ストリング | 列の長さ属性 | 可変長文字ストリング | ホスト変数の長さ属性 |
452/453 | 固定長文字ストリング | 列の長さ属性 | 固定長文字ストリング | ホスト変数の長さ属性 |
456/457 | 長可変長文字ストリング | 列の長さ属性 | 長可変長文字ストリング | ホスト変数の長さ属性 |
460/461 | 該当しない | 該当しない | NUL で終了する文字ストリング | ホスト変数の長さ属性 |
464/465 | 可変長グラフィック・ストリング | 列の長さ属性 | 可変長グラフィック・ストリング | ホスト変数の長さ属性 |
468/469 | 固定長グラフィック・ストリング | 列の長さ属性 | 固定長グラフィック・ストリング | ホスト変数の長さ属性 |
472/473 | 長い可変長グラフィック・ストリング | 列の長さ属性 | 長いグラフィック・ストリング | ホスト変数の長さ属性 |
476/477 | 該当しない | 該当しない | PASCAL の L- ストリング | ホスト変数の長さ属性 |
480/481 | 浮動小数点数 | 単精度では 4、倍精度では 8 | 浮動小数点数 | 単精度では 4、倍精度では 8 |
484/485 | パック 10 進数 | バイト 1 は精度、バイト 2 は位取り | パック 10 進数 | バイト 1 は精度、バイト 2 は位取り |
488/489 | ゾーン 10 進数 | バイト 1 は精度、バイト 2 は位取り | ゾーン 10 進数 | バイト 1 は精度、バイト 2 は位取り |
492/493 | 64 ビット整数 | 8 1 | 64 ビット整数 | 8 |
496/497 | 大整数 | 4 1 | 大整数 | 4 |
500/501 | 短整数 | 2 1 | 短整数 | 2 |
504/505 | 該当しない | 該当しない | DISPLAY SIGN LEADING SEPARATE | バイト 1 は精度、バイト 2 は位取り |
904/905 | ROWID | 40 | ROWID | 40 |
908/909 | 可変長バイナリー・ストリング | 列の長さ属性 | 可変長バイナリー・ストリング | ホスト変数の長さ属性 |
912/913 | 固定長バイナリー・ストリング | 列の長さ属性 | 固定長バイナリー・ストリング | ホスト変数の長さ属性 |
916/917 | 該当しない | 該当しない | BLOB ファイル参照変数 | 267 |
920/921 | 該当しない | 該当しない | CLOB ファイル参照変数 | 267 |
924/925 | 該当しない | 該当しない | DBCLOB ファイル参照変数 | 267 |
960/961 | 該当しない | 該当しない | BLOB ロケーター | 4 |
964/965 | 該当しない | 該当しない | CLOB ロケーター | 4 |
968/969 | 該当しない | 該当しない | DBCLOB ロケーター | 4 |
972 | 該当しない | 該当しない | 結果セット・ロケーター | 8 |
988/989 | XML | 0 | 該当しない。XML AS CLOB、 XML AS DBCLOB、または XML AS BLOB を使用します。 | 0 |
996/997 | 該当しない
DECFLOAT(16) DECFLOAT(34) |
該当しない
8 16 |
4
8 16 |
|
2452/2453 | 該当しない | 該当しない | XML ロケーター | 4 |
を参照してください。
1 SQLDA では、2 進数は長さ 2、4、または 8 で表される場合と、バイト 1 の精度と
バイト 2 の位取りによって表される場合があります。最初のバイトが x'00' より大きい場合は、精度および位取りが入っていることを示します。
2 拡張 SQLVAR 内のフィールド SQLLONGLEN には、列の長さ属性が含まれます。
4 Db2® は DECFLOAT(7) の数値を内部に格納しませんが、アプリケーションから渡された DECFLOAT(7) の数値はサポートします。
SQL ステートメントで参照されている DECFLOAT(7) 変数は、DECFLOAT(16) に変換されます。