MySQL MEMBER OF() 函数使用指南
MySQL MEMBER OF()
函数检查一个指定的值是否是一个 JSON 数组中的元素。
MEMBER OF()
语法
这里是 MySQL MEMBER OF()
的语法:
value MEMBER OF(json_array)
参数
-
value
必需的。一个值。它可以是任意类型。
-
json_array
必需的。一个 JSON 数组。
返回值
如果 json_array
中包含了 value
,那么 MEMBER OF()
返回 1
, 否则返回 0
。
如果 value
和 json_array
都是纯值且相等,那么 MEMBER OF()
返回 1
。
如果参数 json_array
不是有效的 JSON 文档,MySQL 将会给出一个错误。您可以使用 JSON_VALID()
验证 JSON 文档的有效性。
MEMBER OF()
示例
基本用法
SELECT
1 MEMBER OF('[1, 2, "a"]'),
'a' MEMBER OF('[1, 2, "a"]');
+----------------------------+------------------------------+
| 1 MEMBER OF('[1, 2, "a"]') | 'a' MEMBER OF('[1, 2, "a"]') |
+----------------------------+------------------------------+
| 1 | 1 |
+----------------------------+------------------------------+
纯值
如果 value
和 json_array
都是纯值且相等,那么 MEMBER OF()
返回 1
。
SELECT
1 MEMBER OF('1'),
'a' MEMBER OF('"a"'),
CAST('true' AS JSON) MEMBER OF('true');
+------------------+----------------------+----------------------------------------+
| 1 MEMBER OF('1') | 'a' MEMBER OF('"a"') | CAST('true' AS JSON) MEMBER OF('true') |
+------------------+----------------------+----------------------------------------+
| 1 | 1 | 1 |
+------------------+----------------------+----------------------------------------+
这里使用了 CAST()
函数将 'true'
由字符串转为 JSON 值。