如何使用sql查询替换json数据中的转义符(\')?

ruyhziif  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(941)

json\u数据= {"jobId":"7f","created":"2020-05-24T00:22:55.705373Z","updated":"2020-05-24T00:31:03.716279Z","status":"DONE","sha265sum":"d3adf4466b5c88027478e4c","result":"FAILED","errors":[{"errorCode":"S_ERROR","errorDetail":"In: Can\'t create in vms : Error when sending ing s request:INTERNAL: PreparedStatementCallback; Duplicate entry \'Mob 66 The L\' for key \'uc\'; nested exception is Violation Exception: Duplicate entry \'Mob 66 The L\' for key \'uc\'","sId":47} 我想用oraclesql查询将上述数据中的(')替换为空字符;我想用
从json\u日志d中选择replace(d.json\u data,“\”,“”),其中d.json\u data类似于“%error%”;但运气不好
谢谢您!

tjvv9vkg

tjvv9vkg1#

字符串已转义为单引号, \' . 但你是个笨蛋

replace(d.json_data,'\"', '"')

寻找转义双引号, \" .
所以你需要使用:

replace(d.json_data,'\''', '''')

它还将搜索和替换字符串中的单引号加倍,以执行oracle自己的转义。
您也可以使用替代报价机制:

replace(d.json_data,q'[\']', q'[']')

但我不确定在这种情况下这是否更清楚。
db<>小提琴

相关问题