このトピックでは、Teradata Databaseや埋め込みSQLプリプロセッサが使用するデータ型エンコーディングをリストします。
Teradata Databaseは、アプリケーションがPREPAREまたはDESCRIBE文を使って指定したSQLDAにこれらの値を戻します。
プリプロセッサは、プリコンパイラによって作成され、実行時に認識される入力SQLDAフィールドと出力SQLDAフィールドの両方でこの値を使用します。
データ型エンコーディングの所在
データ型エンコーディングは、SQLDAのSQLVARフィールドのうち、2バイトのサブフィールドであるSQLTYPE INTEGERの中に含まれています。
SQLデータ型エンコーディングのNULL可能性の解釈方法
SQLデータ型エンコーディングと使用されないSQLデータ型エンコーディングと内部で使用されるSQLデータ型エンコーディングのテーブルを解釈するにはこれらのガイドラインを使用します。
コード | 結果 |
---|---|
NULL受入可能 | 標識変数が許可されています。 |
NULL受入不可能 | 標識変数が許可されていません。 |
SQLデータ型エンコーディング
データ型に関してNULL受入れ不可能な特定のエンコーディングに対し、各エンコーディングを決定するためのルールは以下のとおりです。
対象となるエンコーディング | データ型のNULL受入れ不可能なエンコーディングに追加する値 |
---|---|
NULL受入可能 | 1 |
ストアド プロシージャのINパラメータ | 500 |
ストアド プロシージャのINOUTパラメータ | 501 |
ストアド プロシージャのOUTパラメータ | 502 |
以下の表は、SQLデータ型とそのSQLDAデータ型エンコーディングのリストを示すものです。
データ型 | データ型エンコーディング | ||||
---|---|---|---|---|---|
NULL受入不可能 | NULL受入可能 | IN | INOUT | OUT | |
BYTEINT | 756 | 757 | 1256 | 1257 | 1258 |
SMALLINT | 500 | 501 | 1000 | 1001 | 1002 |
INTEGER | 496 | 497 | 996 | 997 | 998 |
BIGINT | 600 | 601 | 1100 | 1101 | 1102 |
DECIMAL | 484 | 485 | 984 | 985 | 986 |
FLOAT/REAL/DOUBLE PRECISION | 480 | 481 | 980 | 981 | 982 |
BYTE | 692 | 693 | 1192 | 1193 | 1194 |
VARBYTE | 688 | 689 | 1188 | 1189 | 1190 |
LONG VARBYTE | 696 | 697 | 1192 | 1193 | 1194 |
BLOB | 400 | 401 | 900 | 901 | 902 |
BLOB AS DEFERRED | 404 | 405 | 904 | 905 | 906 |
BLOB AS LOCATOR | 408 | 409 | 908 | 909 | 910 |
BLOB AS DEFERRED BY NAME | 412 | 413 | 912 | 913 | 914 |
DATE (DateForm=ANSIDate) | 748 | 749 | 1248 | 1249 | 1250 |
DATE (DateForm=IntegerDate) | 752 | 753 | 1252 | 1253 | 1254 |
TIME | 760 | 761 | 1260 | 1261 | 1262 |
TIMESTAMP | 764 | 765 | 1264 | 1265 | 1266 |
TIME WITH TIME ZONE | 768 | 769 | 1268 | 1269 | 1270 |
TIMESTAMP WITH TIME ZONE | 772 | 773 | 1272 | 1273 | 1274 |
INTERVAL YEAR | 776 | 777 | 1276 | 1277 | 1278 |
INTERVAL YEAR TO MONTH | 780 | 781 | 1280 | 1281 | 1282 |
INTERVAL MONTH | 784 | 785 | 1284 | 1285 | 1286 |
INTERVAL DAY | 788 | 789 | 1288 | 1289 | 1290 |
INTERVAL DAY TO HOUR | 792 | 793 | 1292 | 1293 | 1294 |
INTERVAL DAY TO MINUTE | 796 | 797 | 1296 | 1297 | 1298 |
INTERVAL DAY TO SECOND | 800 | 801 | 1300 | 1301 | 1302 |
INTERVAL HOUR | 804 | 805 | 1304 | 1305 | 1306 |
INTERVAL HOUR TO MINUTE | 808 | 809 | 1308 | 1309 | 1310 |
INTERVAL HOUR TO SECOND | 812 | 813 | 1312 | 1313 | 1314 |
INTERVAL MINUTE | 816 | 817 | 1316 | 1317 | 1318 |
INTERVAL MINUTE TO SECOND | 820 | 821 | 1320 | 1321 | 1322 |
INTERVAL SECOND | 824 | 825 | 1324 | 1325 | 1326 |
CHARACTER | 452 | 453 | 952 | 953 | 954 |
VARCHARACTER | 448 | 449 | 948 | 949 | 950 |
LONG VARCHARACTER | 456 | 457 | 956 | 957 | 958 |
CLOB | 416 | 417 | 916 | 917 | 918 |
CLOB AS DEFERRED | 420 | 421 | 920 | 921 | 922 |
CLOB AS LOCATOR | 424 | 425 | 924 | 925 | 926 |
CLOB AS DEFERRED BY NAME | 428 | 429 | 928 | 929 | 930 |
JSONデータ(インライン) | 880 | 881 | 1380 | 1381 | 1382 |
JSONデータ(ロケータ) | 884 | 885 | 1384 | 1385 | 1386 |
JSONデータ(遅延) | 888 | 889 | 1388 | 1389 | 1390 |
GRAPHIC | 468 | 469 | 968 | 969 | 970 |
VARGRAPHIC | 464 | 465 | 964 | 965 | 966 |
LONG VARCHAR CHARACTER SET GRAPHIC | 472 | 473 | 972 | 973 | 974 |
1-D ARRAY | 504 | 505 | 1004 | 1005 | 1006 |
n-D Array | 508 | 509 | 1008 | 1009 | 1010 |
UDT(DISTINCT型とSTRUCTURED型の両方) | サポートされない |
使用されないSQLデータ型エンコーディングと内部で使用されるSQLデータ型エンコーディング
この表は、使用されないSQLDAデータ型コードと、内部で使用されるためユーザーは認識できないSQLDAデータ型コードのリストを示すものです。
データ型 | データ型エンコーディング | ||||
---|---|---|---|---|---|
NULL受入不可能 | NULL受入可能 | IN | INOUT | OUT | |
ZONED DECIMAL (末尾の記号) | 432 | 433 | 932 | 933 | 934 |
ZONED DECIMAL (末尾の区切り記号) | 436 | 437 | 936 | 937 | 938 |
ZONED DECIMAL (先頭の記号) | 440 | 441 | 940 | 941 | 942 |
ZONED DECIMAL (先頭の区切り記号) | 444 | 445 | 944 | 945 | 946 |
データ型に関してNULL受入れ不可能な特定のエンコーディングに対し、各エンコーディングを決定するためのルールは、SQLデータ型エンコーディングにリストされているものと同じです。