我的json字段中有一个"〜",例如"~id".使用Presto 0.75,我无法访问这些字段.以下是我迄今为止没有成功的尝试:
SELECT json_extract_scalar('{"id":"1","table":"test"}','$ .table'); //这很有效
SELECT json_extract_scalar('{"id":"1","〜table":"test"}','$.[\"~table \"]'); //不起作用
SELECT json_extract_scalar('{"id":"1","〜table":"test"}','$.[\〜table]'); //不起作用
给出的错误是"无效的JSON路径:"
该JSON路径的正确形式是'$["~table"]':
presto> SELECT json_extract_scalar('{"id":"1","~table":"test"}', '$["~table"]');
_col0
-------
test
(1 row)
Run Code Online (Sandbox Code Playgroud)
以下是一些可以帮助您理解为什么您尝试的替代方案不起作用的事实:
'don''t'是SQL字符串文字don't.SQL字符串文字中的双引号不需要转义.'$["foo"]'或访问它'$.foo'.字段访问语法仅适用于作为有效标识符(字母数字和下划线)的名称.| 归档时间: |
|
| 查看次数: |
2799 次 |
| 最近记录: |