首頁 >資料庫 >mysql教程 >如何在MySQL中高效搜尋編碼的JSON資料以排除特定值?

如何在MySQL中高效搜尋編碼的JSON資料以排除特定值?

Linda Hamilton
Linda Hamilton原創
2024-12-23 16:21:09667瀏覽

How Can I Efficiently Search Encoded JSON Data in MySQL to Exclude Specific Values?

在 MySQL 中搜尋編碼的 JSON 資料

您在 MySQL 中查詢 JSON 編碼的資料時遇到了困難。值得注意的是,當嘗試檢索等於「1」且值不同於「3」的鍵時,目前的 MySQL 查詢會傳回不一致的結果。

MySQL 版本 >= 5.7 的解決方案

如果您使用 MySQL 5.7 或更高版本,您可以利用 JSON_EXTRACT 函數在 JSON 資料中有效搜尋。此函數的語法為:

JSON_EXTRACT(JSON_DOCUMENT, JSON_PATH)

在您的特定情況下,要查詢鍵“1”且其值不包括“3”,您可以使用以下查詢:

SELECT JSON_EXTRACT(`attribs_json`, "$.feature.1.value") AS `value`
FROM `products`
WHERE JSON_EXTRACT(`attribs_json`, "$.feature.1.value") NOT LIKE "%3%"

如果與鍵“1”關聯的值不包含字串“3”,此查詢將傳回一筆記錄。

其他資源

有關MySQL 中JSON 搜尋功能的更全面概述,請參閱官方MySQL 參考手冊:

https://dev. mysql.com/doc/refman/ 5.7/en/json-search-functions.html

以上是如何在MySQL中高效搜尋編碼的JSON資料以排除特定值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn