首頁 > 資料庫 > mysql教程 > 如何在MySQL中有效率地搜尋JSON數組中的元素?

如何在MySQL中有效率地搜尋JSON數組中的元素?

Susan Sarandon
發布: 2024-11-29 11:59:09
原創
372 人瀏覽過

How to Efficiently Search for Elements within JSON Arrays in MySQL?

在MySQL 中搜尋JSON 數組

假設您有一個MySQL 表,其中包含一個名為「數據」的JSON 列,其中包含一個數組。您希望檢索其中一個陣列元素大於 2 的所有行。

查詢

SELECT * from my_table
WHERE JSON_EXTRACT(data, '$[*]') > 2;
登入後複製

傳回不正確的結果,因為無論陣列的值如何,它總是計算為 true .

在陣列中搜尋字串陣列:

JSON_CONTAINS('[1,2,3,4,5]','7','$')  # Returns: 0
JSON_CONTAINS('[1,2,3,4,5]','1','$')  # Returns: 1
登入後複製

在陣列中搜尋字串陣列:

JSON_CONTAINS('["a","2","c","4","x"]','"x"','$')  # Returns: 1
JSON_CONTAINS('["1","2","3","4","5"]','"7"','$')  # Returns: 0
登入後複製

對於您的場景,請使用查詢:

SELECT * from my_table
WHERE JSON_CONTAINS(data, '2', '$');
登入後複製

此查詢選擇「資料」列包含元素大於2 的陣列的所有行。

以上是如何在MySQL中有效率地搜尋JSON數組中的元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板