json_contains

description

Syntax

BOOLEAN json_contains(JSON json_str, JSON candidate) BOOLEAN json_contains(JSON json_str, JSON candidate, VARCHAR json_path) BOOLEAN json_contains(VARCHAR json_str, VARCHAR candidate, VARCHAR json_path)

Indicates by returning 1 or 0 whether a given candidate JSON document is contained at a specific path within the json_str JSON document

example

1. mysql> SET @j = '{"a": 1, "b": 2, "c": {"d": 4}}';
2. mysql> SET @j2 = '1';
3. mysql> SELECT JSON_CONTAINS(@j, @j2, '$.a');
4. +-------------------------------+
5. | JSON_CONTAINS(@j, @j2, '$.a') |
6. +-------------------------------+
7. |                             1 |
8. +-------------------------------+
9. mysql> SELECT JSON_CONTAINS(@j, @j2, '$.b');
10. +-------------------------------+
11. | JSON_CONTAINS(@j, @j2, '$.b') |
12. +-------------------------------+
13. |                             0 |
14. +-------------------------------+

16. mysql> SET @j2 = '{"d": 4}';
17. mysql> SELECT JSON_CONTAINS(@j, @j2, '$.a');
18. +-------------------------------+
19. | JSON_CONTAINS(@j, @j2, '$.a') |
20. +-------------------------------+
21. |                             0 |
22. +-------------------------------+
23. mysql> SELECT JSON_CONTAINS(@j, @j2, '$.c');
24. +-------------------------------+
25. | JSON_CONTAINS(@j, @j2, '$.c') |
26. +-------------------------------+
27. |                             1 |
28. +-------------------------------+

30. mysql> SELECT json_contains('[1, 2, {"x": 3}]', '1');
31. +----------------------------------------+
32. | json_contains('[1, 2, {"x": 3}]', '1') |
33. +----------------------------------------+
34. |                                      1 |
35. +----------------------------------------+
36. 1 row in set (0.04 sec)

keywords

json,json_contains