列大小
数值数据类型的列 (或参数) 大小定义为列或参数的数据类型使用的最大位数或数据的精度。 对于字符类型,这是数据的长度(以字符为单位);对于二进制数据类型,列大小定义为数据的长度(以字节为单位)。 对于时间、时间戳和所有间隔数据类型,这是此数据的字符表示形式中的字符数。 下表显示了为每个简明 SQL 数据类型定义的列大小。
SQL 类型标识符 | 列大小 |
---|---|
所有字符类型[a],[b] | 列或参数 (的定义或最大列大小(以字符为单位),包含在SQL_DESC_LENGTH描述符字段) 。 例如,定义为 CHAR (10) 的单字节字符列的列大小为 10。 |
SQL_DECIMAL SQL_NUMERIC | 定义的位数。 例如,定义为 NUMERIC (10,3) 的列的精度为 10。 |
SQL_BIT[c] | 1 |
SQL_TINYINT[c] | 3 |
SQL_SMALLINT[c] | 5 |
SQL_INTEGER[c] | 10 |
SQL_BIGINT[c] | 19 ((如果已签名) )或 20 ((如果未签名) |
SQL_REAL[c] | 7 |
SQL_FLOAT[c] | 15 |
SQL_DOUBLE[c] | 15 |
所有二进制类型[a],[b] | 列或参数的定义或最大长度(以字节为单位)。 例如,定义为 BINARY (10) 的列的长度为 10。 |
SQL_TYPE_DATE[c] | 10 (yyy-mm-dd 格式) 的字符数。 |
SQL_TYPE_TIME[c] | 8 (hh-mm-ss 格式的字符数) ,或 9 + s (hh:mm:ss[.fff...] 格式的字符数,其中 s 是秒精度) 。 |
SQL_TYPE_TIMESTAMP | 16 (yyyy-mm-dd hh:mm 格式的字符数) 19 (yyy-mm-ddhh:mm:ss 格式的字符数) 或 20 + s (yyyy-mm-dd hh:mm:ss[.fff...] 格式的字符数,其中 s 是秒精度) 。 |
SQL_INTERVAL_SECOND | 其中 p 是间隔前导精度, s 是秒精度, p (如果 s=0) ,则 p+s+1 (如果 s>0) 。[d] |
SQL_INTERVAL_DAY_TO_SECOND | 其中 p 是间隔前导精度,s 是秒精度,如果 s=0) 则为 9+p (;如果 s 0) ,则>为 10+p+ s (。[d] |
SQL_INTERVAL_HOUR_TO_SECOND | 其中 p 是间隔前导精度,s 是秒精度,如果 s=0) 则为 6+p (;如果>s 0) ,则为 7+p+ s (。d] |
SQL_INTERVAL_MINUTE_TO_SECOND | 其中 p 是间隔前导精度,s 是秒精度,如果 s=0) 则为 3+p (;如果 s 0) ,则>为 4+p+ s (。[d] |
SQL_INTERVAL_YEAR SQL_INTERVAL_MONTH SQL_INTERVAL_DAY SQL_INTERVAL_HOUR SQL_INTERVAL_MINUTE | p,其中 p 是间隔前导精度。[d] |
SQL_INTERVAL_YEAR_TO_MONTH SQL_INTERVAL_DAY_TO_HOUR | 3+p,其中 p 是间隔前导精度。[d] |
SQL_INTERVAL_DAY_TO_MINUTE | 6+p,其中 p 是间隔前导精度。[d] |
SQL_INTERVAL_HOUR_TO_MINUTE | 3+p,其中 p 是间隔前导精度。[d] |
SQL_GUID | 36 (aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee 格式) |
[a] 对于在 ODBC 2.0 驱动程序中调用 SQLSetParam 的 ODBC 1.0 应用程序,以及对于 ODBC 1.0 驱动程序中调用 SQLBindParameter 的 ODBC 2.0 应用程序,当 *StrLen_or_IndPtr SQL_LONGVARCHAR 或 SQL_LONGVARBINARY 类型SQL_DATA_AT_EXEC时, 必须将 ColumnSize 设置为要发送的数据的总长度, 不是此表中定义的精度。
[b] 如果驱动程序无法确定变量类型的列或参数长度,则返回SQL_NO_TOTAL。
[c] 对于此数据类型,将忽略 SQLBindParameter 的 ColumnSize 参数。
[d] 有关间隔数据类型中的列长度的一般规则,请参阅本附录前面的 间隔数据类型长度。
为列 (或参数) 大小返回的值不对应于任何一个描述符字段中的值。 值可以来自SQL_DESC_PRECISION或SQL_DESC_LENGTH字段,具体取决于数据类型,如下表所示。
SQL 类型 | 对应于 的描述符字段 列或参数大小 |
---|---|
所有字符和二进制类型 | LENGTH |
所有数值类型 | PRECISION |
所有日期时间和间隔类型 | LENGTH |
SQL_BIT | LENGTH |
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈