该声明已被SQL管理工作室终止

时间:2017-06-06 10:55:15

标签: ssms

我在SQL管理工作室做了一个查询,如下: -

ALTER TABLE [TransactionNote] 
ALTER COLUMN NoteLine [varchar] 
COLLATE SQL_Latin1_General_CP1_CI_AS. 

为什么我看

Msg 8152, Level 16, State 14, Line 4
String or binary data would be truncated.
The statement has been terminated.

在输出窗口中。?

1 个答案:

答案 0 :(得分:0)

您需要为NoteLine字段指定新的长度。如果没有为varchar指定长度,则默认为长度为1.该字段中任何超过1个字符的当前值都将被截断,因此会显示错误消息。

确定该字段中最长值的长度,然后相应地ALTER列。

select max(len(NoteLine) from TransactionNote;

记下结果。

ALTER TABLE [TransactionNote] 
ALTER COLUMN NoteLine [varchar(VALUE_FROM_BEFORE)] 
COLLATE SQL_Latin1_General_CP1_CI_AS