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, Teradata 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.
ODBC 2.5 | ODBC 3.51 |
---|---|
SQL_DATE | SQL_TYPE_DATE |
SQL_TIME | SQL_TYPE_TIME |
SQL_TIMESTAMP | SQL_TYPE_TIMESTAMP |
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 |
The DATE data types automatically get a default format of YYYY-MM-DD to match the ODBC and ANSI specs. The following table lists columns renamed for ODBC 3.x.
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 |