2

我正在尝试仅替换我们公司数据库中字符串的一部分。我要更新的列是MERGECODES (varchar(20),null). 此列的典型值类似于'M, GPE, T'.

我想用 with 替换每个实例,TKD出现以下错误。它将允许我更改具有相同或更少字符数的任何内容,例如,它将允许我替换TK但不能替换为KD. 任何帮助将不胜感激。多谢你们!

代码:

UPDATE GoldMine.dbo.CONTACT1 
SET MERGECODES = REPLACE(MERGECODES, 'T', 'KD')

错误:

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

4

1 回答 1

6

您需要增加数据类型大小。

目前你有varchar(20).

如果数据长度为 20 个字符,并且您将 1 个字符替换为 2 个字符,那么这将是 21 个字符长,这将导致truncation

尝试将您的数据类型增加到varchar(50)例如,这应该可以解决您的问题。

于 2012-08-14T14:52:47.763 回答