搜索Mysql的JSON字段的值
在MySQL中,你可以使用JSON_EXTRACT
函数来搜索JSON字段的值。以下是一个例子,假设我们有一个名为orders
的表,其中包含一个名为details
的JSON类型的列,我们想要搜索details
列中customer_id
为特定值的行。
SELECT *
FROM orders
WHERE JSON_EXTRACT(details, '$.customer_id') = '12345';
在这个例子中,$.customer_id
是一个JSON路径表达式,它指定了我们想要在details
字段的JSON数据结构中查找的路径。如果customer_id
的值是数字而不是字符串,则不需要引号。
如果你使用的是MySQL 5.7及以上版本,你也可以使用->>
运算符来提取JSON对象的值:
SELECT *
FROM orders
WHERE details->>'$.customer_id' = '12345';
这里的->>
运算符更加简洁,它直接返回文本形式的值,而不是返回JSON子对象。
评论已关闭