DROP DATABASE IF EXISTS json_contains_db; CREATE DATABASE json_contains_db; USE json_contains_db; # ---------------------------------------------------------------------- # Test of JSON_CONTAINS function. # ---------------------------------------------------------------------- CREATE TABLE t1(j LONGTEXT, v LONGTEXT, p LONGTEXT) ENGINE = columnstore; INSERT INTO t1 VALUES ('{"k1":123, "k2":345}', '123', '$.k1'); INSERT INTO t1 VALUES ('', '', '$'); INSERT INTO t1 VALUES ('null', 'null', '$'); INSERT INTO t1 VALUES ('"10"', '"10"', '$'); INSERT INTO t1 VALUES ('"10"', '10', '$'); INSERT INTO t1 VALUES ('10.1', '10', '$'); INSERT INTO t1 VALUES ('10.0', '10', '$'); SELECT j AS json, v AS value, p AS path, JSON_CONTAINS(j, v, p) AS result FROM t1; json value path result {"k1":123, "k2":345} 123 $.k1 1 $ NULL null null $ 1 "10" "10" $ 1 "10" 10 $ 0 10.1 10 $ 0 10.0 10 $ 1 CREATE TABLE t2(j LONGTEXT, v LONGTEXT) ENGINE = columnstore; INSERT INTO t2 VALUES ('"you"', '"you"'); INSERT INTO t2 VALUES ('"youth"', '"you"'); INSERT INTO t2 VALUES ('[1]', '1'); INSERT INTO t2 VALUES ('[2, 1]', '1'); INSERT INTO t2 VALUES ('[2, [2, 3], 1]', '1'); INSERT INTO t2 VALUES ('[4, [2, 3], 1]', '2'); INSERT INTO t2 VALUES ('[2, 1]', '[1, 2]'); INSERT INTO t2 VALUES ('[2, 1]', '[1, 0, 2]'); INSERT INTO t2 VALUES ('[2, 0, 3, 1]', '[1, 2]'); INSERT INTO t2 VALUES ('{"b":[1,2], "a":1}', '{"a":1, "b":2}'); INSERT INTO t2 VALUES ('{"a":1}', '{}'); INSERT INTO t2 VALUES ('[1, {"a":1}]', '{}'); INSERT INTO t2 VALUES ('[1, {"a":1}]', '{"a":1}'); INSERT INTO t2 VALUES ('[{"abc":"def", "def":"abc"}]', '["foo","bar"]'); INSERT INTO t2 VALUES ('[{"abc":"def", "def":"abc"}, "bar"]', '["bar", {}]'); INSERT INTO t2 VALUES ('[{"a":"b"},{"c":"d"}]', '{"c":"d"}'); SELECT j AS json, v AS value, JSON_CONTAINS(j, v) AS result FROM t2; json value result "you" "you" 1 "youth" "you" 0 [1] 1 1 [2, 1] 1 1 [2, [2, 3], 1] 1 1 [4, [2, 3], 1] 2 1 [2, 1] [1, 2] 1 [2, 1] [1, 0, 2] 0 [2, 0, 3, 1] [1, 2] 1 {"b":[1,2], "a":1} {"a":1, "b":2} 1 {"a":1} {} 1 [1, {"a":1}] {} 1 [1, {"a":1}] {"a":1} 1 [{"abc":"def", "def":"abc"}] ["foo","bar"] 0 [{"abc":"def", "def":"abc"}, "bar"] ["bar", {}] 1 [{"a":"b"},{"c":"d"}] {"c":"d"} 1 DROP TABLE t2; DROP TABLE t1; DROP DATABASE json_contains_db;