Transfer Octet Length
The transfer octet length defined for each ODBC SQL data type is shown in the
following table.
SQL type identifier
| Length
|
All character types [a] | The number of bytes required to hold the defined or maximum (for variable
types) number of characters. This is the same value as the descriptor field
SQL_DESC_OCTET_LENGTH.
|
SQL_DECIMAL SQL_NUMERIC | The number of bytes required to hold the character representation of this
data. This is the maximum number of digits plus two, since the data is returned as
a character string, and characters are needed for the digits, a sign, and a
decimal point. For example, the transfer length of a column defined as
NUMERIC(10,3) is 12.
|
SQL_TINYINT | 1
|
SQL_SMALLINT | 2
|
SQL_INTEGER | 4
|
SQL_BIGINT | The number of bytes required to hold the character representation of this
data, since this data type is returned as a character string by default. The
character representation consists of 20 characters: 19 for digits and a sign, if
signed, or 20 digits, if unsigned. Thus, the length is 20.
|
SQL_REAL | 4
|
SQL_FLOAT | 8
|
SQL_DOUBLE | 8
|
SQL_BIT | 1
|
All binary types [a] | The number of bytes required to hold the defined (for fixed types) or maximum
(for variable types) number of characters.
|
SQL_TYPE_DATE SQL_TYPE_TIME | 6 (the size of the SQL_DATE_STRUCT or SQL_TIME_STRUCT structure).
|
SQL_TYPE_TIMESTAMP | 16 (the size of the SQL_TIMESTAMP_STRUCT structure).
|
All interval data types | 34 (the size of the interval structure).
|
[a] If the driver cannot determine the column or parameter length for variable types, it returns SQL_NO_TOTAL. |
|