首页 > 解决方案 > Msg 8152, Level 16, State 14, Line 1 字符串或二进制数据将被截断

问题描述

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

这可以在 Access 数据库上作为“P/R”AS [column] 轻松完成,但我在 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 行
字符串或二进制数据将被截断。
该语句已终止。

标签: sqlsql-serversql-server-2012

解决方案


varchar 默认长度 1 可能是你有错误

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

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

推荐阅读