我正在使用SQL Server 2000.当我尝试更新文本值超过10个字符的varchar(20)
类型的列时,出现错误
字符串或二进制数据将被截断。
为什么? varchar(20)
应接受最多20个字符的文字...为什么我不能使用超过10个字符的文字进行更新?
答案 0 :(得分:5)
如果您的字符串变量声明为nvarchar(n)
,那么它将占用varchar(n)
10 x 2 = 20
因此,任何大于10个双字节字符的内容都不适合varchar(20)
如果要插入/更新varchar
类型的列,还要将字符串变量声明为varchar
,并使用适当的大小。
declare @str varchar(20)