Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 尝试更新varchar类型的值时未更新列_Sql_Sql Server - Fatal编程技术网

Sql 尝试更新varchar类型的值时未更新列

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,并具有适当的大小

我正在使用SQLServer2000。当我试图用超过10个字符的文本值更新
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代码吗?你的字符串中可能有一些控制字符…你检查正确了吗?