Sql 尝试更新varchar类型的值时未更新列
我正在使用SQLServer2000。当我试图用超过10个字符的文本值更新Sql 尝试更新varchar类型的值时未更新列,sql,sql-server,Sql,Sql Server,我正在使用SQLServer2000。当我试图用超过10个字符的文本值更新varchar(20)类型的列时,我得到了一个错误 字符串或二进制数据将被截断 为什么varchar(20)应接受最多20个字符的文本。。。为什么我不能用超过10个字符的文本更新它?如果字符串变量声明为nvarchar(n),那么它将占用varchar(n) 因此,任何大于10个双字节字符的内容都不能放入varchar(20) 如果要在varchar类型的列中插入/更新,请将字符串变量声明为varchar,并具有适当的大小
varchar(20)
类型的列时,我得到了一个错误
字符串或二进制数据将被截断
为什么
varchar(20)
应接受最多20个字符的文本。。。为什么我不能用超过10个字符的文本更新它?如果字符串变量声明为nvarchar(n)
,那么它将占用varchar(n)
因此,任何大于10个双字节字符的内容都不能放入varchar(20)
如果要在varchar
类型的列中插入/更新,请将字符串变量声明为varchar
,并具有适当的大小
declare @str varchar(20)
如果字符串变量声明为
nvarchar(n)
,则它将占用varchar(n)
因此,任何大于10个双字节字符的内容都不能放入varchar(20)
如果要在varchar
类型的列中插入/更新,请将字符串变量声明为varchar
,并具有适当的大小
declare @str varchar(20)
你能用你试图更新的示例文本值发布sql代码吗?你的字符串中可能有一些控制字符…你检查正确了吗?你能用你试图更新的示例文本值发布sql代码吗?你的字符串中可能有一些控制字符…你检查正确了吗?