MySQL查询替换字符串并设置字符串

时间:2019-04-05 04:37:19

标签: mysql

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

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” ------>“ parameters”:{“ newColumnName”:“ xxxx”}。

我认识的

pqrs和xxxx。它可以在其中任何字符串。

1 个答案:

答案 0 :(得分:2)

您可以使用以下查询来做到这一点: 只能是文字替换

检查

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"}');