Oracle MI PIACE

Oracle Mi Piace



In Oracle e in altri database relazionali, la corrispondenza dei modelli è una funzionalità popolare che consente di cercare modelli di stringhe utilizzando sintassi speciali. Ad esempio, è possibile cercare una sottostringa all'interno di un ampio set di stringhe utilizzando operatori e funzioni di corrispondenza dei modelli.

Ciò lo rende molto utile per la creazione di semplici clausole di ricerca senza incorrere in significative penalizzazioni delle prestazioni del database.







In questo tutorial, ti imbatterai nell'operatore LIKE in Oracle per eseguire query di corrispondenza dei modelli.



Operatore LIKE di Oracle

L'operatore LIKE in Oracle consente di cercare uno schema specifico in una determinata colonna. Ad esempio, puoi utilizzarlo per trovare tutte le righe in cui il nome di un cliente inizia con lo schema 'Ja'.



Troverai spesso questo operatore utilizzato insieme ad altre clausole SQL, come la clausola WHERE, per filtrare i nostri risultati in base a uno schema specifico.





Possiamo esprimere la sintassi dell'operatore LIKE in SQL come mostrato di seguito:

espressione LIKE modello [ FUGA 'carattere_escape' ]



  1. Il parametro expression specifica la colonna in cui eseguire la ricerca.
  2. Il parametro pattern definisce il modello specifico che si desidera cercare. Il modello specificato può contenere caratteri jolly come % e _ per corrispondere rispettivamente a qualsiasi numero di caratteri oa un singolo carattere.
  3. Possiamo anche includere la clausola ESCAPE per specificare un carattere di escape utilizzato per cercare i caratteri jolly effettivi.

Esempi di operatore Oracle LIKE

Gli esempi seguenti mostrano come utilizzare l'operatore LIKE in una tabella Oracle.

Supponiamo di avere una tabella contenente le informazioni sui clienti come mostrato di seguito:

Esempio 1 – Utilizzo dei caratteri jolly %

Possiamo usare i caratteri jolly % per trovare la corrispondenza con qualsiasi stringa di zero o più caratteri. Ad esempio, possiamo trovare tutte le voci in una tabella contenente il nome 'Will%'.

Prendi la tabella dei dipendenti mostrata di seguito:

Selezionare nome, cognome, stipendio
dai DIPENDENTI
dove FIRST_NAME piace 'Volere%'
ordina per nome;

La query precedente seleziona le colonne first_name, last_name e salary dalla tabella dei dipendenti e ordina i valori risultanti in base alla colonna first_name.

Combiniamo anche una clausola where insieme a un operatore LIKE con i caratteri jolly % per recuperare solo le righe in cui il nome inizia con 'Will'.

Questo dovrebbe restituire le righe come:

Possiamo anche utilizzare il carattere jolly % per recuperare le righe che terminano con uno schema specifico.

Un esempio è mostrato di seguito:

Selezionare nome, cognome, stipendio
dai DIPENDENTI
dove FIRST_NAME piace '%è'
ordina per nome;

In questo caso, la query precedente dovrebbe restituire tutte le righe in cui il nome termina con 'er'. Un esempio di valore risultante è mostrato di seguito:

L'operatore LIKE del database Oracle fa distinzione tra maiuscole e minuscole per impostazione predefinita, quindi è essenziale tenerlo presente durante la ricerca di modelli specifici. È possibile utilizzare altre funzioni, ad esempio inferiore e superiore, per negare questo comportamento.

Esempio 2 – Utilizzo della clausola di escape

L'esempio seguente mostra come utilizzare la clausola ESCAPE nell'operatore Oracle LIKE:

Selezionare first_name, last_name, stipendio, commission_pct
dai DIPENDENTI
dove commission_pct piace 'venti\%' fuga '\' ;

La query precedente seleziona le colonne first_name, last_name, salary e commission_pct dalla tabella EMPLOYEES. La clausola WHERE utilizza l'operatore LIKE con la clausola ESCAPE per recuperare i record in cui la colonna commission_pct contiene la stringa '20%' (con un carattere % letterale, non un carattere jolly).

In questo caso, eseguiamo l'escape del carattere % con una barra rovesciata (\) durante la ricerca della stringa 20%. Ciò consente all'operatore LIKE di cercare la stringa esatta '20%' invece di trattare il carattere % come carattere jolly.

Questa query restituirà tutte le righe della tabella EMPLOYEES in cui la colonna commission_pct contiene la stringa esatta '20%', insieme alle colonne first_name, last_name e salary per tali righe.

Conclusione

In questo post, hai imparato come utilizzare l'operatore LIKE nei database Oracle per cercare modelli specifici in una tabella. Vengono forniti diversi esempi per evidenziare l'utilizzo di caratteri jolly e la clausola ESCAPE.