我在列上设置了ANSI_PADDING ON。
但是当我在字符串'SS '
和'SS '
的末尾插入包含不同数量空格的字符串时,我在对象错误中得到重复键。
在SQL服务器中,我看到最后没有空格的字符串。
任何想法为什么SQL仍然修剪我的字符串并将它们作为相同的字符串处理。
答案 0 :(得分:1)
MSDN非常清楚地说:
SET ANSI_PADDING设置不会影响SQL Server是否填充 在比较它们之前的字符串。 SET ANSI_PADDING仅影响是否 从插入表中的值中修剪尾随空白, 因此会影响存储,但不会影响比较。
答案 1 :(得分:0)
尝试这个,创建后改变你的表
convert -size 50x50 xc:red xc:lime xc:blue +append image.gif
设置上的ANSI_PADDING仅影响新列的定义。创建列后,SQL Server会根据创建列时的设置存储值。以后更改此设置不会影响现有列。