The NUMERIC, REAL, and DOUBLE PRECISION data types are actually synonyms for existing Teradata data types: NUMERIC is mapped to DECIMAL, REAL and DOUBLE PRECISION are mapped to FLOAT. As a result, the database does not return column type values of NUMERIC, REAL, or DOUBLE PRECISION. Instead, it returns DECIMAL, FLOAT, and FLOAT respectively. SQLGetTypeInfo (SQL_ALL_TYPES) does not return these new ANSI types.
ODBC Driver for Teradata supports the standard Teradata data types, in addition to the ODBC data types listed in the following table:
ANSI Data Types | |
---|---|
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 |
The tables that follow list data type changes occurring between ODBC 2.x and ODBC 3.x. These changes affect the data type names only. Their functionality remains as before.
The following table lists SQL Data Type name changes.
ODBC 2.5 | ODBC 3.51 |
---|---|
SQL_DATE | SQL_TYPE_DATE |
SQL_TIME | SQL_TYPE_TIME |
SQL_TIMESTAMP | SQL_TYPE_TIMESTAMP |
The following table lists SQL C-Type identifier changes.
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 |
ODBC 2.0 column | ODBC 3.x column |
---|---|
TABLE_QUALIFIER | TABLE_CAT |
TABLE_OWNER | TABLE_SCHEM |
PRECISION | COLUMN_SIZE |
LENGTH | BUFFER_LENGTH |
SCALE | DECIMAL_DIGITS |
RADIX | NUM_PREC_RADIX |
The following table lists the columns added to the result set returned by SQLColumns in ODBC driver:
Columns Added | |
---|---|
CHAR_OCTET_LENGTH | ORDINAL_POSITION |
COLUMN_DEF | SQL_DATA_TYPE |
IS_NULLABLE | SQL_DATETIME_SUB |