Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Elemen dengan Cekap dalam Tatasusunan JSON dalam MySQL?

Bagaimana untuk Mencari Elemen dengan Cekap dalam Tatasusunan JSON dalam MySQL?

Susan Sarandon
Susan Sarandonasal
2024-11-29 11:59:09288semak imbas

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

Mencari Tatasusunan JSON dalam MySQL

Andaikan anda mempunyai jadual MySQL dengan lajur JSON bernama "data" yang mengandungi tatasusunan. Anda ingin mendapatkan semula semua baris dengan salah satu elemen tatasusunan lebih besar daripada 2.

Pertanyaan

SELECT * from my_table
WHERE JSON_EXTRACT(data, '$[*]') > 2;

mengembalikan hasil yang salah kerana ia sentiasa menilai kepada benar, tanpa mengira nilai tatasusunan .

Untuk mencari integer dalam tatasusunan:

JSON_CONTAINS('[1,2,3,4,5]','7','$')  # Returns: 0
JSON_CONTAINS('[1,2,3,4,5]','1','$')  # Returns: 1

Kepada cari rentetan dalam tatasusunan:

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

Untuk senario anda, gunakan pertanyaan:

SELECT * from my_table
WHERE JSON_CONTAINS(data, '2', '$');

Pertanyaan ini memilih semua baris di mana lajur "data" mengandungi tatasusunan dengan unsur lebih besar daripada 2.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Elemen dengan Cekap dalam Tatasusunan JSON dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn