JSON 是一種用於儲存結構化資料的流行資料格式,並且在資料庫列中儲存JSON 物件變得越來越普遍。 MySQL 提供了多種從 JSON 列中提取資料的方法,可以更輕鬆地根據特定欄位查詢和過濾資料。
使用json_extract() (MySQL 5.7 及以上版本)
對於MySQL 5.7 及更高版本,json_extract() 函數提供了一種從JSON 物件中提取JSON特定值的便捷方法。以下是範例:
SELECT user_id, json_data FROM articles WHERE json_extract(json_data, '$.title') LIKE '%CPU%';
此查詢會擷取 JSON 欄位中的 "title" 欄位與模式 "%CPU%" 相符的行。它將僅傳回提供的範例表中的第一行。
使用json_unquote() 和json_contains()(MySQL 8.0 及更高版本)
在MySQL 8.0 及更高版本中, json_unquote() 函數可用於從JSON 值中刪除雙引號,而json_contains() 函數可用來檢查JSON 物件中是否存在特定值。這是另一個查詢:
SELECT user_id, json_data FROM articles WHERE json_unquote(json_value(json_data, '$.title')) LIKE '%CPU%';
以上是如何使用查詢從 MySQL 列中提取 JSON 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!