用于字符串替换和设置字符串的MySQL查询

用于字符串替换和设置字符串的MySQL查询,mysql,Mysql,我有一个单元格中的字符串数据和列类型的文本。 例如: Q: {"newColumnName":"xxxx","filterList":[],"columnNames":"pqrs"} columnNames、filterList、newColumnName不在固定位置,可能会更改。 我需要将上面的字符串数据替换为 Need Result:{"columnNames":["pqrs"],"filterList":[],"parameters":{"newColumnName":"xxxx"}}

我有一个单元格中的字符串数据和列类型的文本。 例如:

Q: {"newColumnName":"xxxx","filterList":[],"columnNames":"pqrs"}
columnNames、filterList、newColumnName不在固定位置,可能会更改。
我需要将上面的字符串数据替换为

Need Result:{"columnNames":["pqrs"],"filterList":[],"parameters":{"newColumnName":"xxxx"}}
意味着我需要搜索和替换:- 1.“columnNames”:“pqrs”-->“columnNames”:[“pqrs”]。 2.“newColumnName”:“xxxx”-->“参数”:{“newColumnName”:“xxxx”}


我知道pqrs和xxxx。它可以是任何一根线

您可以使用如下查询: 它只是一个文本替换

查证

SELECT t.val
        , REPLACE(
            REPLACE(t.val,'"columnNames":"pqrs"','"columnNames":["pqrs"]')
            , '"newColumnName":"xxxx"' , '"parameters":{"newColumnName":"xxxx"}') as result
FROM tt t;
取代

UPDATE tt
    set tt.val =
        REPLACE(
            REPLACE(tt.val,'"columnNames":"pqrs"','"columnNames":["pqrs"]')
            , '"newColumnName":"xxxx"' , '"parameters":{"newColumnName":"xxxx"}');

如果字符串xxxx和pqrs不是固定的或我不知道,那么如何处理替换查询。您使用的是哪个MySQL版本:选择版本();我的版本是5.7.22,我不在家。我稍后给你答复好的,你什么时候回来