显示大小

列的显示大小是以字符形式显示数据所需的最大字符数。 下表定义了每种 ODBC SQL 数据类型的显示大小。

SQL 类型标识符 屏幕大小
所有字符类型[a] 固定类型的定义 () 或变量类型的最大 () 以字符形式显示数据所需的字符数。
SQL_DECIMAL SQL_NUMERIC 列的精度加 2 (符号、 精度 数字和小数点) 。 例如,定义为 NUMERIC (10,3) 的列的显示大小为 12。
SQL_BIT 1 (1 位) 。
SQL_TINYINT 如果有符号 (符号,则为 4,) 为 3 位数字;如果无符号 (3 位数字) ,则为 3 位。
SQL_SMALLINT 如果有符号 (,则为 6,) 为 5 位;如果无符号 (5 位数字) ,则为 5 位。
SQL_INTEGER 如果有符号 (符号,则为 11,) 为 10 位数字;如果) 无符号 (10 位数字,则为 10。
SQL_BIGINT 20 (符号,19 位数字(如果有符号)或 20 位数字(如果无符号) )。
SQL_REAL 14 (符号、7 位数字、小数点、字母 E、符号和 2 位数字) 。
SQL_FLOAT SQL_DOUBLE 24 (符号、15 位数字、小数点、字母 E、符号和 3 位数字) 。
所有二进制类型[a] 变量类型的定义或最大 () 列的长度乘以 2。 (每个二进制字节由一个 2 位十六进制数字表示。)
SQL_TYPE_DATE 10 (格式为 yyyy-mm-dd) 的日期。
SQL_TYPE_TIME 8 (时间,格式为 hh:mm:ss)

- 或 -

9 + s (hh:mm:ss[.fff...] 格式的时间,其中 s 是秒的小数精度) 。
SQL_TYPE_TIMESTAMP 19 (yyyy-mm-dd hh:mm:ss 格式的时间戳)

- 或 -

yyyy-mm-dd hh:mm:ss[.fff...] 格式的时间戳为 20 + s (,其中 s 是秒的小数部分精度) 。
所有间隔数据类型 请参阅 Interval 数据类型长度
SQL_GUID 36 (aaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee 格式 的字符数

[a] 如果驱动程序无法确定变量类型的列或参数长度,则返回SQL_NO_TOTAL。