如何从MySQL中的数字键嵌套JSON字段中提取值

Ibr*_*wal 5 mysql json mysql-json

我有一个带有JSON列的MySQL表sent。列中的条目具有如下信息:

{
 "data": {
  "12":"1920293"
 }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用mysql查询:

select sent->"$.data.12" from mytable
Run Code Online (Sandbox Code Playgroud)

但我有一个例外:

Invalid JSON path expression. The error is around character position 9.
Run Code Online (Sandbox Code Playgroud)

知道如何提取信息吗?该查询适用于非数字子字段。

Jef*_*elo 6

@Ibrahim,您的代码有错误。如果您在MySQL的JSON数据类型中使用数字(或空格)作为关键字,则需要将其双引号。

因此,根据您的情况,正确的MySQL语句为:

select sent->'$.data."12"' FROM mytable;
Run Code Online (Sandbox Code Playgroud)

谢谢@JeffreyKilelo