消息8152,级别16,状态14,第1行字符串或二进制数据将被截断

时间:2019-10-02 13:27:05

标签: sql sql-server sql-server-2012

我在现有表中添加了新列(varchar),并希望在该列的每一行中将空值替换为“ P / R”。

这可以在Access数据库上以“ P / R” AS [列]轻松完成,但是我在SQL上找不到等效项。

我尝试了下面的代码,但收到了对我来说没有意义的错误。有人可以解释原因并提供解决方案吗?

非常感谢,

Alter table [EPG 00) Premium] add [Earning] varchar

Update [EPG 00) Premium] 
set [earning] = 'P/R'
where [earning] is null
  

8152消息,第16级,状态14,第1行
  字符串或二进制数据将被截断。
  该声明已终止。

1 个答案:

答案 0 :(得分:2)

varchar默认长度1可能是您输入错误

Alter table [EPG 00) Premium] add [Earning] varchar(10)

Update [EPG 00) Premium] 
set [earning] = 'P/R'
where [earning] is null