Caràcters especials en LIKE (SQL)
%→ Comodí per qualsevol nombre de caràcters- Representa qualsevol seqüència de caràcters (inclosos zero caràcters).
- Exemple:
"ca%"→ Tots els mots que comencen perca(casa,carrer,carta…)."%na"→ Tots els mots que acaben enna(mana,lluna…)."%or%"→ Tots els mots que contenenoren qualsevol posició (motor,porta…).
_→ Comodí per a un sol caràcter- Representa exactament un caràcter qualsevol.
- Exemple:
"c_t"→ Tots els mots de tres lletres que comencen ambci acaben ambt(cat,cot…)."__a__"→ Tots els mots de cinc lletres ambacom a tercera lletra (canal,coral…).
[]→ Coincideix amb un grup de caràcters especificats- Permet buscar caràcters concrets o un rang de caràcters en una posició.
- Exemple:
"[aeiou]"→ Troba paraules que contenen qualsevol vocal (animal,elefant,idea…)."c[aeiou]t"→ Tots els mots que comencen ambc, tenen una vocal, i acaben ambt(cat,cot,cut…)."c[a-c]t"→ Tots els mots que comencen ambc, tenen una lletra entreaic, i acaben ambt(cat,cbt…).
[^]→ Exclou caràcters específics- Busca caràcters que no estiguin dins el rang especificat.
- Exemple:
"c[^aeiou]t"→ Tots els mots que comencen ambc, tenen una consonant, i acaben ambt(catno coincideix, peròcrtsí)."[a-f][^e]r"→ Paraules que comencen amb una lletra entreaif, no tenenecom a segona lletra, i acaben ambr.
\→ Escapar caràcters especials- Si necessites buscar caràcters que són especials (com
%,_,[,]), pots escapar-los amb\. - Exemple:
"10\%"→ Cerca literal10%(sense interpretar%com a comodí)."c\[o\]t"→ Busca literalc[o]t.
- Si necessites buscar caràcters que són especials (com
- Combinar patrons:
- Pots combinar aquests patrons per fer cerques més avançades.
- Exemple:
"__a%t"→ Totes les paraules amb almenys quatre lletres, que tinguinacom a tercera lletra i acabin ambt."a[_]%e"→ Paraules que comencen amba, tenen un segon caràcter qualsevol, i acaben ambe.
Altres patrons útils (NO només amb LIKE)
REGEXP (Expressions regulars, si la teva base de dades ho permet)
Per cerques més complexes, pots utilitzar REGEXP (MySQL, PostgreSQL…).
^→ Coincideix al principi d’una cadena.- Exemple:
REGEXP '^ca'→ Paraules que comencen ambca.
- Exemple:
$→ Coincideix al final d’una cadena.- Exemple:
REGEXP 'or$'→ Paraules que acaben ambor.
- Exemple:
|→ Lògica OR.- Exemple:
REGEXP 'ca|ma'→ Paraules que contenencaoma.
- Exemple:
.*→ Qualsevol seqüència de caràcters (similar a%enLIKE).- Exemple:
REGEXP '.*a.*e.*'→ Paraules que contenenai desprése.
- Exemple: