Commenti(0)
L'operatore LIKE in MySQL
Le operazioni di ricerca nel testo attraverso l'operatore LIKE
Per effettuare ricerche in un testo testo, MySQL permette di utilizzare l’operatore LIKE. Esso si differenzia dall’operatore di uguaglianza (=) perchè non è case sansitive e perchè permette l’uso di due caratteri jolly, cioè caratteri che hanno un significato speciale.
_ significa ‘un qualsiasi carattere’
% significa ‘qualsiasi sequenza di 0 o più caratteri’
Ad esempio:
1SELECT saluto FROM saluti WHERE saluto LIKE 'ciao, _ino!'
Potrebbe trovare:
- Ciao, Pino!
- Ciao, Nino!
- Ciao, Gino!
Ma l’uso più comune consiste nel cercare un termine all’inizio, alla fine o in qualsiasi punto del testo:
Naturalmente vi sono casi in cui potremmo voler cercare proprio il carattere ’%’ o il carattere ’_’, perciò dovremo chiarire che in quel determinato contesto non avranno il ruolo di jolly. Per fare questo verranno preceduti da un carattere di escape. Il carattere di escape predefinito è ’\’:
1SELECT * FROM articolo WHERE testo LIKE '90\%';
Per vari motivi però potremmo voler utilizzare un carattere diverso come escape, ecco come fare:
1SELECT * FROM articolo WHERE testo LIKE '90/%' ESCAPE '/';
Possiamo addirittura fare in modo che non vi sia alcun carattere di escape se non ne abbiamo bisogno:
1SELECT * FROM articolo WHERE testo LIKE '90/%' ESCAPE '';
In ogni caso l’escape non può essere costituito da più di un carattere.
E’ possibile forzare LIKE ad essere case sensitive utilizzando il modificatore BINARY:
1SELECT testo FROM articolo WHERE testo LIKE BINARY '%Giovanni%'
Il complemento di LIKE è NOT LIKE:
Condividi su:
Esprimi un voto:
Argomenti chiave:

MySQL Report un tool di shell per tenere tutto sotto controllo