用于替换路径中的未知数字的Mysql查询

时间:2013-02-23 13:31:57

标签: mysql sql

假设您在表格中存储了以下内容:

{2:22} {4:5} {34:4}

我要从这个字符串中删除{4:5}但是系统剂量知道“:”之后的数字是第一个。查询看起来像这样:

UPDATE tbl SET this = REPLACE(this,'{4:??}','')WHERE id = 1;

我需要投入什么?返回以下结果?

{2:22} {34:4}

1 个答案:

答案 0 :(得分:1)

以下是使用LEFTSUBSTRINGLOCATEREPLACE执行此操作的一种方法:

update yourtable 
set yourcolumn = 
    replace(yourcolumn,
        Left(
            Substring(yourcolumn, 
                 Locate('{4:',yourcolumn),
                 Length(yourcolumn)),
        Locate('}',Substring(yourcolumn, 
                 Locate('{4:',yourcolumn),
                 Length(yourcolumn)))), 
        '')

SQL Fiddle Demo