Commenti(0)
Espressioni regolari con MySQL
Una ricetta introduttiva per conosce il come delle espressioni regolari con MySQL
Le espressioni regolari sono uno strumento che permette, mediante la definizione di pochi simboli, la scrittura di regole per la rappresentazione di insiemi di stringhe su wikipedia una breve trattatazione
http://it.wikipedia.org/wiki/Espressioni_regolari
In MySQL sono un potente strumento che consente di individuare delle stringhe di testo. Per fare un esempio, è possibile utilizzare espressioni regolari per trovare e-mail, l’indirizzi IP, numeri di telefono, che come sappiamo hanno determinate caratteristiche. Ad esempio, supponiamo di avere una semplice tabella “impiegato” che riporta numero codice, nome, cognome e numero di telefono degli impiegati che la popolano. Nel caso in cui volessi estrarre, ad esempio, gli impiegati che abitano nella provincia di Napoli, posso pensare di estrarre le persone i cui numeri di telefono cominciano per 081. Nel caso in cui volessi estrarre gli impiegati che abitano nella provincia di Milano basta estrarre quelle coi numeri di telefono che cominciano per 02 e così via. La sintassi è la seguente
Le espressioni regolari sono molto utili in quanto consentono di ridurre le lunghe dichiarazioni SQL con gli operatori AND e OR nella condizione di WHERE. Lo svantaggio di usare espressioni regolari è che non sempre sono facili da capire. Una buona regola di programmazione è quella di commentare molto quando si usano. Facciamo un esempio per capire come utilizzare le espressioni regolari. Supponiamo di avere la tabella impiegato di cui sopra che sia popolata nel seguente modo
| Num. Codice | Nome | Cognome | Telefono |
| 000001 | Paolo | Rossi | 0810000001 |
| 000002 | Paolo | Bianchi | 0200000001 |
| 000003 | Paolo | Verde | 0600000001 |
Supponiamo di voler estrarre gli impiegati della provincia di Napoli e di Milano. Possiamo dunque estrarre quegli impiegati i cui numeri di telefono cominciano per ‘081’ e ‘02’. Ricorrendo alle espressioni regolari la sintassi è la seguente.
L’output sarà il seguente.
| Num. Codice | Nome | Cognome | Telefono |
| 000001 | Paolo | Rossi | 0810000001 |
| 000002 | Paolo | Bianchi | 0200000001 |
L’operatore RLIKE è ammesso come sinonimo di REGEXP.
Condividi su:
Esprimi un voto:
Argomenti chiave:

MySQL Report un tool di shell per tenere tutto sotto controllo