Caràcters especials en LIKE (SQL) utils per mots encreuats

Caràcters especials en LIKE (SQL)

  1. %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 per ca (casa, carrer, carta…).
      • "%na" → Tots els mots que acaben en na (mana, lluna…).
      • "%or%" → Tots els mots que contenen or en qualsevol posició (motor, porta…).

  1. _Comodí per a un sol caràcter
    • Representa exactament un caràcter qualsevol.
    • Exemple:
      • "c_t" → Tots els mots de tres lletres que comencen amb c i acaben amb t (cat, cot…).
      • "__a__" → Tots els mots de cinc lletres amb a com a tercera lletra (canal, coral…).

  1. []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 amb c, tenen una vocal, i acaben amb t (cat, cot, cut…).
      • "c[a-c]t" → Tots els mots que comencen amb c, tenen una lletra entre a i c, i acaben amb t (cat, cbt…).

  1. [^]Exclou caràcters específics
    • Busca caràcters que no estiguin dins el rang especificat.
    • Exemple:
      • "c[^aeiou]t" → Tots els mots que comencen amb c, tenen una consonant, i acaben amb t (cat no coincideix, però crt sí).
      • "[a-f][^e]r" → Paraules que comencen amb una lletra entre a i f, no tenen e com a segona lletra, i acaben amb r.

  1. \Escapar caràcters especials
    • Si necessites buscar caràcters que són especials (com %, _, [, ]), pots escapar-los amb \.
    • Exemple:
      • "10\%" → Cerca literal 10% (sense interpretar % com a comodí).
      • "c\[o\]t" → Busca literal c[o]t.

  1. Combinar patrons:
    • Pots combinar aquests patrons per fer cerques més avançades.
    • Exemple:
      • "__a%t" → Totes les paraules amb almenys quatre lletres, que tinguin a com a tercera lletra i acabin amb t.
      • "a[_]%e" → Paraules que comencen amb a, tenen un segon caràcter qualsevol, i acaben amb e.

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 amb ca.
  • $ → Coincideix al final d’una cadena.
    • Exemple: REGEXP 'or$' → Paraules que acaben amb or.
  • | → Lògica OR.
    • Exemple: REGEXP 'ca|ma' → Paraules que contenen ca o ma.
  • .* → Qualsevol seqüència de caràcters (similar a % en LIKE).
    • Exemple: REGEXP '.*a.*e.*' → Paraules que contenen a i després e.