搜索Mysql的JSON字段的值
warning:
这篇文章距离上次修改已过459天,其中的内容可能已经有所变动。
在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子对象。
评论已关闭