繁体   English   中英

Sybase SQL:查找字符串中的最后一个字符并将其替换

[英]Sybase SQL: Find last character in a string and replace it

我在字段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,麻烦@pflist = context,

非常感谢。

尝试这个 :

    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')

如果您需要对表中的所有行进行此类修改-您可以使用下一个脚本:

select    
    Left(CONTEXT, LEN(CONTEXT) - CHARINDEX('"',REVERSE(CONTEXT))) + '123' + Right(CONTEXT, CHARINDEX('"',REVERSE(CONTEXT))-1)
from TABLE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM