Contents|Index|Previous|Next

Display Size

The display size of a column is the maximum number of characters needed to display data in character form. The following table defines the display size for each ODBC SQL data type.

SQL type identifier
Display size



All character types [a]
The defined (for fixed types) or maximum (for variable types) number of characters needed to display the data in character form.



SQL_DECIMAL
SQL_NUMERIC
The precision of the column plus 2 (a sign, precision digits, and a decimal point). For example, the display size of a column defined as NUMERIC(10,3) is 12.



SQL_BIT
1 (1 digit).



SQL_TINYINT
4 if signed (a sign and 3 digits) or 3 if unsigned (3 digits).



SQL_SMALLINT
6 if signed (a sign and 5 digits) or 5 if unsigned (5 digits).



SQL_INTEGER
11 if signed (a sign and 10 digits) or 10 if unsigned (10 digits).



SQL_BIGINT
20 (a sign and 19 digits if signed or 20 digits if unsigned).



SQL_REAL
13 (a sign, 7 digits, a decimal point, the letter E, a sign, and 2 digits).



SQL_FLOAT
SQL_DOUBLE
22 (a sign, 15 digits, a decimal point, the letter E, a sign, and 3 digits).



All binary types [a]
The defined or maximum (for variable types) length of the column times 2 (each binary byte is represented by a 2-digit hexadecimal number).



SQL_TYPE_DATE
10 (a date in the format yyyy-mm-dd).



SQL_TYPE_TIME
8 (a time in the format hh:mm:ss)
or 9 + s (a time in the format hh:mm:ss[.fff…], where s is the fractional seconds precision).



SQL_TYPE_TIMESTAMP
19 (for a timestamp in the yyyy-mm-dd hh:mm:ss format)
or 20 + s (for a timestamp in the yyyy-mm-dd hh:mm:ss[.fff…] format, where s is the fractional seconds precision).



All interval data types
See the Interval Data Type Length section earlier in this appendix.



[a] If the driver cannot determine the column or parameter length of variable types, it returns SQL_NO_TOTAL.