SQL Type Identifiers
For example, SQL_CHAR is the type identifier for a character column with a
fixed length, typically between 1 and 254 characters. These characteristics
correspond to the CHAR data type found in many SQL data sources. Thus, when an
application discovers that the type identifier for a column is SQL_CHAR, it can
assume it is probably dealing with a CHAR column. However, it should still check the
byte length of the column before assuming it is between 1 and 254 characters;
the driver for a non-SQL data source, for example, might map a fixed-length
character column of 500 characters to SQL_CHAR or SQL_LONGVARCHAR, since neither
is an exact match.
ODBC defines a wide variety of SQL type identifiers. However, the driver is
not required to use all of these identifiers. Instead, it only uses those
identifiers it needs to expose the SQL data types supported by the underlying data
source. If the underlying data source supports SQL data types to which no type
identifier corresponds, the driver can define additional type identifiers. For
more information, see “Driver-Specific Data Types, Descriptor Types, Information Types, Diagnostic
Types, and Attributes,” in Chapter 17, “Programming Considerations.”
For a complete description of SQL type identifiers, see Appendix D, “Data Types.”