Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
控制字符数据在客户端截断时的行为。
On、Off
Off
可以为单个连接或 PUBLIC 设置此选项。您必须具有 SET ANY PUBLIC OPTION 系统特权才能为 PUBLIC 或者其他用户或角色设置此选项。
只有在数据库忽略字符串比较中的尾随空白,并填补读到字符数组的字符串时,ansi_blanks 选项才有效。在将数据类型为 CHAR(N) 的值读入一个 C char[M] 变量并且 N 大于或等于 M 时,它会强制出现截断错误。若将 ansi_blanks 选项设置为 Off,则只有在截断至少一个非空字符时才出现截断错误。
对于嵌入式 SQL,如果 ansi_blanks 选项设置为 On,则在提供数据类型为 DT_STRING 的值时,必须将 sqllen 字段设置为包含该值的缓冲区的长度(至少为该值的长度加上终止空字符的空间)。若 ansi_blanks 选项设置为 Off,则该长度只由空字符的位置决定。ansi_blanks 选项的值在建立连接时确定。建立连接后,更改该选项将不影响此 sqllen 嵌入式 SQL 行为。
若数据库以空白填补,则如果正在读取的表达式是 CHAR 或 NCHAR(不是 VARCHAR 或 NVARCHAR)并且正在被读取到 char 或 nchar(不是 VARCHAR 或 NVARCHAR)主机变量,则该选项控制发送到客户端的截断警告。如果满足这些条件,并且主机变量太小,不足以在读取的表达式以空白形式填补最大长度时容纳该表达式,则会引发截断警告,并且指示符中包含容纳读取的表达式所需的最小字节数(如果该表达式是用空白填补其最大长度)。如果表达式是 CHAR(N) 或 NCHAR(N),则指示符也可能被设置为 N 以外的其它值,以反映返回值的字符集转换结果和由于字符长度的不同造成的影响。