Ce face JSON_SEARCH()
JSON_SEARCH() găsește unde se află o valoare de tip text. Textul căutat poate folosi % și _, ca la LIKE.
Parametri
| Parametru | Descriere |
|---|---|
document |
Documentul în care se caută. |
'one' | 'all' |
Prima cale sau toate. |
text_cautat |
Textul (cu % și _). |
Ce returnează
Calea sau lista de căi; NULL dacă nu găsește.
Exemple
Exemplele de pe această pagină pornesc de la datele de mai jos. Rulează mai întâi acest cod, apoi exemplul.
CREATE TABLE profiluri (
id INT PRIMARY KEY,
date JSON
);
INSERT INTO profiluri VALUES
(1, '{"nume": "Ana", "oras": "Iași", "varsta": 31, "hobby": ["citit", "înot"], "adresa": {"strada": "Lăpușneanu", "nr": 12}}'),
(2, '{"nume": "Dan", "oras": "Cluj", "varsta": 45, "hobby": ["ciclism"]}'),
(3, '{"nume": "Ioana", "oras": "Iași", "varsta": 27, "hobby": []}');
Exemplul 1: Unde apare un text
SELECT JSON_SEARCH(date, 'one', 'înot') AS prima,
JSON_SEARCH(date, 'all', '%i%') AS toate_cu_i
FROM profiluri
WHERE id = 1;
Rezultat
+--------------+--------------------------+
| prima | toate_cu_i |
+--------------+--------------------------+
| "$.hobby[1]" | ["$.oras", "$.hobby[0]"] |
+--------------+--------------------------+
Greșeli frecvente
- Cauți numere cu
JSON_SEARCH(). Funcția caută doar în valorile de tip text.
Comenzi înrudite
JSON_CONTAINS(): Verifică dacă un document JSON conține o anumită valoare sau un sub-document.JSON_EXTRACT(): Citește o valoare dintr-un document JSON după o cale ca ‘$.adresa.strada’.