Watch the 7.3 Webinar On-Demand
This new release brings updates to Universal Storage, query
optimization, and usability that you won’t want to miss.
This is a set of three JSON functions, which return true if the given value is contained in the JSON array. JSON arrays are lists in this form:
["foo", "bar", "baz"]
["foo", 1, 2, 3]
JSON_ARRAY_CONTAINS_DOUBLE
is for all numeric data. Javascript has only one numeric type.JSON_ARRAY_CONTAINS_STRING
is for all text and binary types.JSON_ARRAY_CONTAINS_JSON
is for all valid Javascript types, including true
, false
, JSON maps, and lists.JSON_ARRAY_CONTAINS_<type>(json, value)
Return Value
SELECT JSON_ARRAY_CONTAINS_STRING('["foo", "bar", "baz"]', 'foo') AS has_foo;
+---------+
| has_foo |
+---------+
| 1 |
+---------+
SELECT JSON_ARRAY_CONTAINS_STRING('invalid', 'foo') AS has_foo;
+---------+
| has_foo |
+---------+
| NULL |
+---------+
SELECT JSON_ARRAY_CONTAINS_DOUBLE('["foo", 1, 2, 3]', 3) AS has_three;
+-----------+
| has_three |
+-----------+
| 1 |
+-----------+
SELECT JSON_ARRAY_CONTAINS_JSON('["foo", 1, true, 3]', 'true') AS has_truth;
+-----------+
| has_truth |
+-----------+
| 1 |
+-----------+
SELECT JSON_ARRAY_CONTAINS_JSON('["foo", {"a":"b"}, 4]', '{"a":"b"}') AS has_map;
+---------+
| has_map |
+---------+
| 1 |
+---------+