Come fare la ricerca insensitive in Sql
La ricerca insensitive in Sql permette di selezionare i dati senza distinguere tra minuscole e maiuscole. Ad esempio, le parole "mosca" e "Mosca" sono considerate la stessa cosa in una query insensitive mentre sono considerate differenti nelle query sensitive. Ogni database è definito per ospitare i dati in modo sensitive o insensitive tramite il parametro "collaction". Tuttavia, nel caso in cui il database fosse settato come sensitive, è possibile ignorare la clausola ed effettuare ricerche insensitive. È sufficiente modificare i parametri di comparazione della ricerca aggiungendo la funzione UPPER. Ad esempio:
SELECT * FROM dizionario WHERE UPPER(parola)="MOSCA"
La funzione UPPER trasforma tutti i caratteri del campo in maiuscolo. In questo modo possiamo selezionare il contenuto del campo indipendentemente dal fatto che le parole siano in maiuscolo, in minuscolo o in una combinazione di maiuscolo e minuscolo. Possiamo ottenere lo stesso risultato con la funzione LOWER
SELECT * FROM dizionario WHERE LOWER(parola)="mosca"
Si tratta di un modo alternativo per procedere. In questo secondo caso la query converte in minuscolo i caratteri del campo ( parola ) e li confronta con quello che vogliamo cercare ( "mosca" ). Ad esempio, quando la query incontra il dato "Mosca" lo trasforma in "mosca", riuscendo così a selezionarlo. In caso contrario, senza la conversione LOWER o UPPER, non lo avrebbe selezionato.