Data Type Identifiers and Descriptors
When the SQL_DESC_TYPE or SQL_DESC_CONCISE_TYPE field is set for some data
types, the SQL_DESC_DATETIME_INTERVAL_PRECISION, SQL_DESC_LENGTH,
SQL_DESC_PRECISION, and SQL_DESC_SCALE fields are automatically set to default values, as
applicable for the data type. For more information, see the description of the
SQL_DESC_TYPE field in SQLSetDescField. If any of the default values set is not appropriate, the application should
explicitly set the descriptor field through a call to SQLSetDescField.
The following table shows the concise type identifier, verbose type
identifier, and type subcode for each datetime and interval SQL and C type identifier. As
this table indicates, for datetime and interval data types the SQL_DESC_TYPE
and SQL_DESC_DATETIME_INTERVAL_CODE fields have the same manifest constants for
both SQL data types (in implementation descriptors) and C data types (in
application descriptors).
Concise SQL type
| Concise C type
| Type
| DATETIME_INTERVAL_CODE
|
SQL_TYPE_DATE | SQL_C_TYPE_DATE
| SQL_DATETIME
| SQL_CODE_DATE
|
SQL_TYPE_TIME | SQL_C_TYPE_TIME
| SQL_DATETIME
| SQL_CODE_TIME
|
SQL_TYPE_TIMESTAMP | SQL_C_TYPE_
TIMESTAMP | SQL_DATETIME
| SQL_CODE_TIMESTAMP
|
SQL_INTERVAL_ MONTH | SQL_C_INTERVAL_
MONTH | SQL_INTERVAL
| SQL_CODE_MONTH
|
SQL_INTERVAL_YEAR | SQL_C_INTERVAL_
YEAR | SQL_INTERVAL
| SQL_CODE_YEAR
|
SQL_INTERVAL_YEAR_ TO_MONTH | SQL_C_INTERVAL_
YEAR_TO_MONTH | SQL_INTERVAL
| SQL_CODE_YEAR_
TO_MONTH |
SQL_INTERVAL_DAY | SQL_C_INTERVAL_
DAY | SQL_INTERVAL
| SQL_CODE_DAY
|
SQL_INTERVAL_HOUR | SQL_C_INTERVAL_
HOUR | SQL_INTERVAL
| SQL_CODE_HOUR
|
SQL_INTERVAL_ MINUTE | SQL_C_INTERVAL_
MINUTE | SQL_INTERVAL
| SQL_CODE_MINUTE
|
SQL_INTERVAL_ SECOND | SQL_C_INTERVAL_
SECOND | SQL_INTERVAL
| SQL_CODE_SECOND
|
SQL_INTERVAL_DAY_ TO_HOUR | SQL_C_INTERVAL_
DAY_TO_HOUR | SQL_INTERVAL
| SQL_CODE_DAY_TO_
HOUR |
SQL_INTERVAL_DAY_ TO_MINUTE | SQL_C_INTERVAL_
DAY_TO_MINUTE | SQL_INTERVAL
| SQL_CODE_DAY_TO_
MINUTE |
SQL_INTERVAL_DAY_ TO_SECOND | SQL_C_INTERVAL_
DAY_TO_SECOND | SQL_INTERVAL
| SQL_CODE_DAY_TO_
SECOND |
SQL_INTERVAL_ HOUR_TO_MINUTE | SQL_C_INTERVAL_
HOUR_TO_MINUTE | SQL_INTERVAL
| SQL_CODE_HOUR_TO_
MINUTE |
SQL_INTERVAL_ HOUR_TO_SECOND | SQL_C_INTERVAL_
HOUR_TO_SECOND | SQL_INTERVAL
| SQL_CODE_HOUR_TO_
SECOND |
SQL_INTERVAL_ MINUTE_TO_SECOND | SQL_C_INTERVAL_
MINUTE_TO_SECOND | SQL_INTERVAL
| SQL_CODE_MINUTE_TO_
SECOND |