Gli operatori di confronto e i caratteri speciali

Questi operatori sono usati per confrontare il contenuto di un dato nell'archivio con la chiave di ricerca fornita dall'utente. Oltre all'operatore "=" che è verificato solo nel caso che le due stringhe di caratteri siano esattamente uguali, sono disponibili anche i seguenti operatori, detti di regular expression:

Operatore Descrizione Caratteri speciali
LIKE Operatore di confronto standard SQL _ % \
CLIKE Come sopra, ma non fa distinzione tra caratteri maiuscoli e minuscoli _ % \
RLIKE Consente di usare per il confronto le regular expression di Unix vedi manuale Unix (in particolare man ed)

Nel caso delle regular expression la chiave di ricerca non e' (necessariamente) un'altra stringa da confrontare ma un'espressione che contiene alcune regole di confronto (da qui il nome).

La più semplice regular expression è una stringa di caratteri: in questo caso è come se si usasse l'operatore "=".

Ma il vantaggio di usare le regular expression consiste nel poter indicare criteri di ricerca del tipo:
tutte le stringhe che cominciano con...
tutte le stringhe che contengono questi caratteri ma non contengono "xyz"...
ecc. ecc.

Per fare questo occorre usare dei caratteri speciali. Se si usano gli operatori di mSQL, cioè LIKE e CLIKE i caratteri speciali sono solo tre ed hanno il seguente significato:

Carattere Descrizione
  _ (trattino basso) corrisponde ad un carattere qualunque
  % (percentuale) corrisponde a 0 o più caratteri
  \ (barra inversa) forza l'interpretazione letterale dei caratteri
cioè: \% vuol dire segno percentuale ecc. ecc.

Per esempio la seguente espressione:
_. Rossi%
combacia con
P. Rossi
G. Rossini
ecc.ecc.
ma NON con
G.B. Rossi
Rossignol
ecc. ecc.