1
我試圖只替換我們公司數據庫中的一部分字符串。我試圖更新的列是MERGECODES (varchar(20),null)
。這個列的典型值是'M, GPE, T'
。SQL REPLACE給出錯誤:'字符串或二進制數據將被截斷。'
我想用KD
代替T
的每個實例,但是我得到下面的錯誤。它將允許我改變任何具有相同字符數或更少的字符,例如,它允許我用K
替換T
,但不能用KD
替換。任何幫助將不勝感激。多謝你們!
代碼:
UPDATE GoldMine.dbo.CONTACT1
SET MERGECODES = REPLACE(MERGECODES, 'T', 'KD')
錯誤:
Msg 8152, Level 16, State 14, Line 1
String or binary data would be truncated. The statement has been terminated.
如果你確實在'varchar(20)'列中有'M,GPE,T',並且執行了'REPLACE',那麼這個工作沒有任何問題。我在想,你可能正在更新**太多的行**,並且你的'UPDATE'語句命中的行中至少有一行在'REPLACE'的列中包含了太多的字符。嘗試使用'WHERE id = 42'或其他子句 - 以便更新**只有一行,您知道這是行。 – 2012-08-14 15:05:17
感謝marc_s,這是有道理的。 – ajodom10 2012-08-14 15:33:39
**爲什麼有人投下這個問題?如果我在這裏做錯了,請告訴我。** – ajodom10 2012-08-14 15:34:47