用于字符串替换和设置字符串的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,我不在家。我稍后给你答复好的,你什么时候回来