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 contenenor
en 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 ambc
i acaben ambt
(cat
,cot
…)."__a__"
→ Tots els mots de cinc lletres amba
com 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 entrea
ic
, 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
(cat
no coincideix, peròcrt
sí)."[a-f][^e]r"
→ Paraules que comencen amb una lletra entrea
if
, no tenene
com 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 tinguina
com 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 contenenca
oma
.
- Exemple:
.*
→ Qualsevol seqüència de caràcters (similar a%
enLIKE
).- Exemple:
REGEXP '.*a.*e.*'
→ Paraules que contenena
i desprése
.
- Exemple: