适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Server Native Client ODBC 驱动程序和 SQL Server 强制使用以下数据类型。
Data type | 限制 |
---|---|
日期文字 | 日期文本存储在SQL_TYPE_TIMESTAMP列中(日期/时间或 smalldatetime 的 SQL Server 数据类型)中时,时间值为 12:00:00.000 A.M。 |
money 和 smallmoney | 只有 money 和 smallmoney 数据类型的整数部分是重要的。 如果在数据类型转换期间截断了 SQL 货币 数据的十进制部分,SQL Server Native Client ODBC 驱动程序将返回警告,而不是错误。 |
SQL_BINARY(可以为 Null) | 当连接到 SQL Server 版本 6.0 及更早版本的实例时,如果SQL_BINARY列可为 null,则数据源中存储的数据不会填充零。 检索来自此类列的数据时,SQL Server Native Client ODBC 驱动程序会用右侧的零填充数据。 但是,在 SQL Server 执行的操作(如串联)中创建的数据没有此类填充。 此外,当数据放置在 SQL Server 6.0 或更早实例的此类列中时,如果数据太长而无法容纳到列中,SQL Server 会截断右侧的数据。 注意:SQL Server Native Client ODBC 驱动程序支持连接到 SQL Server 6.5 及更早版本。 |
SQL_CHAR(截断) | 当连接到 SQL Server 6.0 和更早版本的实例,并将数据放入SQL_CHAR列中时,如果数据太长而无法容纳到列中,SQL Server 会将其截断在右侧,而不会发出警告。 注意:SQL Server Native Client ODBC 驱动程序支持连接到 SQL Server 6.5 及更早版本。 |
SQL_CHAR(可以为 Null) | 当连接到 SQL Server 6.0 和更早版本的实例时,如果SQL_CHAR列可以为 null,则数据源中存储的数据不会填充空白。 检索来自此类列的数据时,SQL Server Native Client ODBC 驱动程序会用右侧的空白填充该列。 但是,在 SQL Server 执行的操作(如串联)中创建的数据没有此类填充。 注意:SQL Server Native Client ODBC 驱动程序支持连接到 SQL Server 6.5 及更早版本。 |
SQL_LONGVARBINARY、SQL_LONGVARCHAR、SQL_WLONGVARCHAR | 使用SQL_LONGVARBINARY、SQL_LONGVARCHAR或SQL_WLONGVARCHAR数据类型(使用 WHERE 子句)更新影响多个行的列在连接到 SQL Server 6 实例时完全受支持。x 及更高版本。 连接到 SQL Server 4.2x 实例时,出现 S1000 错误“部分插入/更新”。 文本或图像列的插入/更新失败”。 注意:SQL Server Native Client ODBC 驱动程序支持连接到 SQL Server 6.5 及更早版本。 |
字符串函数参数 | string_exp字符串函数的参数必须是数据类型SQL_CHAR或SQL_VARCHAR。 在字符串函数中不支持 SQL_LONG_VARCHAR 数据类型。 count 参数必须小于或等于 8,000,因为SQL_CHAR和SQL_VARCHAR数据类型限制为最大长度为 8,000 个字符。 |
时间文字 | 时间文本存储在SQL_TIMESTAMP列中(日期/时间或 smalldatetime 的 SQL Server 数据类型)中时,日期值为 1900 年 1 月 1 日。 |
timestamp | 只能将 NULL 值手动插入 时间戳 列。 但是,由于 时间戳列由 SQL Server 自动更新,因此会覆盖 NULL 值。 |
tinyint | SQL Server tinyint 数据类型未签名。 默认情况下,tinyint 列绑定到数据类型SQL_C_UTINYINT变量。 |
别名数据类型 | 连接到 SQL Server 4.2x 实例时,ODBC 驱动程序会将 NULL 添加到不显式声明列的可为 null 性的列定义。 因此,将忽略在别名数据类型的定义中存储的为 Null 性。 连接到 SQL Server 4.2x 实例时,具有具有字符或二进制基数据类型的别名数据类型的列,并且不会声明为 null 性,将其创建为数据类型 varchar 或 varbinary。 SQLColAttribute、 SQLColumns 和 SQLDescribeCol 返回SQL_VARCHAR或SQL_VARBINARY作为这些列的数据类型。 不对从这些列检索的数据进行填充。 注意:SQL Server Native Client ODBC 驱动程序支持连接到 SQL Server 6.5 及更早版本。 |
LONG 数据类型 | 对于SQL_LONGVARBINARY和SQL_LONGVARCHAR数据类型,数据执行 参数受到限制。 |
大值类型 | SQL Server Native Client ODBC 驱动程序将在接受或返回 ODBC SQL 数据类型的 API 中将 varchar(max)、 varbinary(max)和 nvarchar(max) 类型公开为SQL_VARCHAR、SQL_VARBINARY和SQL_WVARCHAR(分别)。 |
用户定义的类型 (UDT) | UDT 列被映射为 SQL_SS_UDT。 如果使用 UDT 的 ToString() 或 ToXMLString() 方法或者通过 CAST/CONVERT 函数,在 SQL 语句中将 UDT 列显式映射到另一种类型,则在结果集中该列的类型将反映该列被转换成的实际类型。 SQL Server Native Client ODBC 驱动程序只能以二进制形式绑定到 UDT 列。 SQL Server 仅支持在SQL_SS_UDT和SQL_C_BINARY数据类型之间进行转换。 |
XML | SQL Server 将自动将 XML 转换为 Unicode 文本。 XML 类型将映射为 SQL_SS_XML。 |