当我使用包含破折号的字段名的 JSON 类型时,出现无效的 JSON 路径表达式错误
如何重复:
create table tt (j1 json);
insert into tt values ('{"cache-size":10}'); <-- insert went fine
select JSON_EXTRACT(j1,"$.cache-size") from tt;
Run Code Online (Sandbox Code Playgroud)
错误 3143 (42000):JSON 路径表达式无效。错误发生在字符位置 12 附近。
键的名称必须是双引号字符串或有效的 ECMAScript 标识符
ECMAScript 标识符中不允许使用连字符,因此需要在路径表达式中用引号引起来的名称。这似乎有效:
select JSON_EXTRACT(j1, '$."cache-size"') from tt;
Run Code Online (Sandbox Code Playgroud)
id | JSON_EXTRACT(j1, '$."cache-size"')
------+----------
1 | 10
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
704 次 |
| 最近记录: |