MariaDB JSON_EXTRACT: 從 JSON 欄位取值
根據 JSON 路徑取得儲存在 MariaDB 資料庫中的 JSON 欄位的值,JSON_EXTRACT 可以用在 SELECT 欄位、WHERE 條件及 ORDER BY 排序 … 等。
JSON_EXTRACT
語法
JSON_EXTRACT(json_doc, path[, path] ...)
說明
從 JSON 欄位中讀取資料,讀取的依據是路徑參數相符的部分,函數將回傳所有符合的值;如果回傳值為多個值,則結果會按符合的順序自動包裝為陣列,如果沒有路徑匹配或任何參數為 NULL,則傳回 NULL。
如果路徑參數不是有效路徑,或者 json_doc 參數不是有效的 JSON 文檔,則會發生錯誤。路徑表達式是 MariaDB 支援的 JSONPath 表達式。 (參考資料)
範例
用在 ORDER BY 排序
SELECT * FROM `tender` ORDER BY JSON_EXTRACT(`json`, '$.create_date') DESC;
用在搜尋欄位
SELECT * FROM `tender` WHERE JSON_EXTRACT(`json`, '$.title') = '公告';
用在欄位取得
SELECT `id`, JSON_EXTRACT(`json`, '$.title') AS `title` FROM `tender`;
延伸閱讀:
MySQL / MariaDB / Oracle 相關文章: