我在字段context
中有一个字符串。此字段中的字符串构建为两个版本。我需要按照逻辑附加字符串。
“
“
替换为以下字符串:123 现在我尝试了这个没有成功
declare @pf varchar(10), @pos int,
select @pflist = context,
@pos = LEN(@pflist) - CHARINDEX('"',REVERSE(@pflist))
UPDATE table SET CONTEXT = str_replace(convert(varchar(255),CONTEXT), ',
"'+ @pos +'"', '123’)
所以基本上我将带字符串的字段设置为变量,尝试反转该字段,保存变量@pos中的位置,并用我的字符串123替换该位置的字符串。
我收到消息:invalid column name CONTEXT
。所以我想这会导致麻烦@pflist = context,
非常感谢你们。
答案 0 :(得分:1)
试试这个:
declare @pf varchar(10), @pos int,
select @pflist = context, @pos = LEN(@pflist) - CHARINDEX('"',REVERSE(@pflist))
UPDATE table SET CONTEXT = CONCAT(LEFT(CONTEXT, CHARINDEX('"',CONTEXT)-1), '123')
答案 1 :(得分:0)
如果您需要对表中的所有行进行此类修改 - 您可以使用下一个脚本:
select
Left(CONTEXT, LEN(CONTEXT) - CHARINDEX('"',REVERSE(CONTEXT))) + '123' + Right(CONTEXT, CHARINDEX('"',REVERSE(CONTEXT))-1)
from TABLE