NUMERIC、REAL、およびDOUBLE PRECISIONのデータ型は、実際は既存のTeradataデータ型と同じ意味を持っています。つまり、NUMERICはDECIMALにマップされ、REALとDOUBLE PRECISIONはFLOATにマップされます。そのため、データベースは、NUMERIC、REAL、またはDOUBLE PRECISIONの列タイプ値を返しません。代わりに、それぞれDECIMAL、FLOAT、FLOATを返します。SQLGetTypeInfo(SQL_ALL_TYPES)は、これらの新しいANSIデータ型を返しません。
ANSI機能および移行の問題の詳細については、Vantageのマニュアルを参照してください。
ODBC Driver for Teradataは、次の表にリストされているODBCのデータ型に加え、標準のTeradataデータ型をサポートします。
ANSIデータ型 | |
---|---|
TINYINT | INTERVAL_YEAR |
NUMERIC | INTERVAL_MONTH |
REAL | INTERVAL_DAY |
DOUBLE PRECISION | INTERVAL_HOUR |
BIT | INTERVAL_MINUTE |
BINARY | INTERVAL_SECOND |
VARBINARY | INTERVAL_HOUR_TO_MINUTE |
TIME | INTERVAL_DAY_TO_SECOND |
TIMESTAMP | INTERVAL_HOUR_TO_MINUTE |
DATE | INTERVAL_HOUR_TO_SECOND |
INTERVAL | INTERVAL_MINUTE_TO_SECOND |
次の表は、ODBC 2.xとODBC 3.x間で発生したデータ型の変更個所の一覧です。変更されたのは、データ型名だけです。機能は、変更されていません。
次の表に、SQLデータ型名の変更箇所の一覧を示します。
ODBC 2.5 | ODBC 3.51 |
---|---|
SQL_DATE | SQL_TYPE_DATE |
SQL_TIME | SQL_TYPE_TIME |
SQL_TIMESTAMP | SQL_TYPE_TIMESTAMP |
次の表に、SQL C型識別子の変更箇所の一覧を示します。
ODBC 2.5 | ODBC 3.51 |
---|---|
SQL_C_DATE | SQL_C_TYPE_DATE |
SQL_C_TIME | SQL_C_TYPE_TIME |
SQL_C_TIMESTAMP | SQL_C_TYPE_TIMESTAMP |
DATEデータ型には、ODBCおよびANSIの仕様に合わせて、デフォルトの形式YYYY-MM-DDが自動的に採用されます。次の表に、ODBC 3.xで名前が変更された列の一覧を示します。
列名は今後変更されません。次の列の名前はODBC 3.xで変更済みです。アプリケーションは列番号によりバインドするため、列名の変更が下位互換性に影響することはありません。
ODBC 2.0の列名 | ODBC 3.xの列名 |
---|---|
TABLE_QUALIFIER | TABLE_CAT |
TABLE_OWNER | TABLE_SCHEM |
PRECISION | COLUMN_SIZE |
LENGTH | BUFFER_LENGTH |
SCALE | DECIMAL_DIGITS |
RADIX | NUM_PREC_RADIX |
次の表は、ODBCドライバのSQLColumnsで返される結果セットに追加された列の一覧です。
追加された列 | |
---|---|
CHAR_OCTET_LENGTH | ORDINAL_POSITION |
COLUMN_DEF | SQL_DATA_TYPE |
IS_NULLABLE | SQL_DATETIME_SUB |