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 相關文章:

    發佈留言

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

    這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料