ESCAPE
L’identificatore ESCAPE permette di trattare un qualsiasi carattere dopo il carattere backslash come un simbolo non speciale. Ad esempio i simboli _ e % vengono filtrati nelle query e non interpetrati letteralmente come caratteri.
Ad esempio consideriamo la seguente tabella ed eseguiamo la prima query.
select * from prova_escape;
CODICE_EST
----------------
F%_B978
F%B978
AB_687
GR%29E
select * from prova_escape WHERE codice_est LIKE '%_%';
CODICE_EST
---------------
F%_B978
F%B978
AB_687
GR%29E
Il simbolo "_" non viene considerato letteralmente e la query restituisce tutte le righe della colonna. Se invece vogliamo estrarre solo i risultati che contengono il carattere "_" dobbiamo usare l'ESCAPE.
select * from prova_escape WHERE codice_est LIKE '%\_%' ESCAPE '\';
CODICE_EST
---------------
F%_B978
AB_687
Idem se vogliamo estarre le righe che contengono il carattere speciale "%".
select * from prova_escape WHERE codice_est LIKE '%\%%' ESCAPE '\';
CODICE_EST
----------------
F%_B978
F%B978
GR%29E
Ad esempio consideriamo la seguente tabella ed eseguiamo la prima query.
select * from prova_escape;
CODICE_EST
----------------
F%_B978
F%B978
AB_687
GR%29E
select * from prova_escape WHERE codice_est LIKE '%_%';
CODICE_EST
---------------
F%_B978
F%B978
AB_687
GR%29E
Il simbolo "_" non viene considerato letteralmente e la query restituisce tutte le righe della colonna. Se invece vogliamo estrarre solo i risultati che contengono il carattere "_" dobbiamo usare l'ESCAPE.
select * from prova_escape WHERE codice_est LIKE '%\_%' ESCAPE '\';
CODICE_EST
---------------
F%_B978
AB_687
Idem se vogliamo estarre le righe che contengono il carattere speciale "%".
select * from prova_escape WHERE codice_est LIKE '%\%%' ESCAPE '\';
CODICE_EST
----------------
F%_B978
F%B978
GR%29E