MariaDB从JSON文档中提取带有转义字符的值

jei2mxaa  于 2022-11-08  发布在  其他
关注(0)|答案(1)|浏览(146)

我正在使用json_value函数从传递到Mariadb数据库的json文档中提取值。当文档包含带有转义值的名称/值对时,例如“Item_Name”:“60\”Table”,该函数只提取60,并为文档中的其余名称/值对返回空值。下面是一个示例

Set @json = '{"Item_Name":"60\" Table", "Item_ID":"1"}';

select json_value(@json,'$.Item_Name') as Item_Name
, json_value(@json,'$.Item_ID') as ID

此查询的结果为:
| 项目名称(_N)|识别码|
| - -|- -|
| 六十个|零值|
不确定如何提取带有转义字符的值。

pes8fvy9

pes8fvy91#

我也在Mariadb社区发布了这个问题,并在那里得到了答案。诀窍是添加一个额外的转义字符。Ian Gilfillan在Mariadb社区提供了答案,下面链接了他的回答。
https://mariadb.com/kb/en/extract-values-with-escaped-characters-from-json-document/+comments/5799#comment_5799
报价:
您需要使用两个转义字符。SQL解析器将应用一个转义字符,但您希望向下传递转义字符串。因此:
第一个

相关问题