我在一个单元格和列类型的文本中有字符串数据。 像示例:
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。它可以在其中任何字符串。
答案 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"}');