MySQL的JSON_CONTAINS函數用于判斷一個JSON數組是否包含指定的值。
函數的語法如下:
JSON_CONTAINS(json_doc, value[, path])
json_doc:要檢查的JSON值。
value:要查找的值。
path:可選參數,指定要在JSON文檔中搜索的路徑。如果不提供此參數,則在整個JSON文檔中搜索。
函數返回一個布爾值,表示是否找到了匹配的值。
以下是一些示例:
1. 檢查一個JSON數組是否包含指定的值:
SELECT JSON_CONTAINS('[1, 2, 3]', 2);
結果為1,表示數組包含值2。
2. 在指定路徑下檢查一個JSON對象是否包含指定的值:
SELECT JSON_CONTAINS('{"name": "John", "age": 30}', 'John', '$.name');
結果為1,表示在$.name路徑下找到了值John。
3. 在整個JSON文檔中檢查一個JSON對象是否包含指定的值:
SELECT JSON_CONTAINS('{"name": "John", "age": 30}', 30);
結果為1,表示整個JSON文檔中找到了值30。
注意:JSON_CONTAINS函數在MySQL 5.7及以上版本中可用。如果使用的是較早的版本,可以使用JSON_CONTAINS_PATH函數來實現相似的功能。