JSON_CONTAINS

MySQL 函式 Function: JSON_CONTAINS

JSON_CONTAINS 搜尋 JSON 資料

資料表

id tags
1 [“KJ”,“KeJyun”]
2 [“Taiwan”,“Thailand”,“Japan”]
3 [“Basketball”, “Baseball”]

SQL

找出標籤欄位 JSON 資料含有 KJ 的資料,會抓出 id 為 1 的資料

SELECT
  *
FROM
  `tags`
WHERE
  JSON_CONTAINS(tags, '["KJ"]')

找出標籤欄位 JSON 資料含有 TaiwanThailand 的資料,會抓出 id 為 2 的資料

SELECT
  *
FROM
  `tags`
WHERE
  JSON_CONTAINS(tags, '["Taiwan", "Thailand"]')

找出標籤欄位 JSON 資料含有 KJThailand 的資料,會找不到資料,沒有一個 JSON 資料同時含有這兩筆資料

SELECT
  *
FROM
  `tags`
WHERE
  JSON_CONTAINS(tags, '["KJ", "Taiwan"]')

參考資料