我在MySQL 5.6中有一个表,其文本类型字段为“ custom_info”,该字段以字符串形式存在JSON。这样的JSON的存在字段“ clients”带有数组。
为了选择“客户”为空的记录,我使用查询:
select custom_info from users where custom_info like '%"clients":[]%'
Run Code Online (Sandbox Code Playgroud)
如何在“客户”数组至少存在一个元素的情况下检索记录?
MySQL本机支持JSON。建议不要将其存储为JSON数据类型,而不是将其存储为字符串文字。这样,它将打开一些本机函数,例如JSON_CONTAINS,JSON_EXTRACT,JSON_ARRAY和JSON_OBJECT。
然后,您可以使用JSON_CONTAINS或JSON_EXTRACT评估您的结果;就像是:
SELECT *
FROM custom_info
WHERE JSON_CONTAINS(clients, 'some_value_youd_expect_to_be_here')
Run Code Online (Sandbox Code Playgroud)
要么:
SELECT *
FROM custom_info
WHERE JSON_EXTRACT('clients', '$[0]') is not null
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
159 次 |
| 最近记录: |