L'operatore PostgreSQL LIKE ci aiuta a confrontare i valori di testo con i modelli utilizzando i caratteri jolly. È possibile abbinare l'espressione di ricerca all'espressione del modello.
Se si verifica una corrispondenza, l'operatore LIKE restituisce true. Con l'aiuto dell'operatore LIKE, è possibile utilizzare caratteri jolly nella clausola WHERE delle istruzioni SELECT, UPDATE, INSERT o DELETE.
In questo tutorial di PostgreSQL imparerai quanto segue:
- Carte jolly
- Sintassi
- Utilizzo di caratteri jolly%
- Utilizzo del carattere jolly _
- Utilizzo dell'operatore NOT
- Utilizzando pgAdmin
Carte jolly
Ci sono solo due caratteri jolly che possono essere usati insieme a
- Segno di percentuale (%)
- Sottolineato (_)
Il segno di percentuale (%) viene utilizzato per rappresentare zero, uno o molti caratteri o numeri.
Il carattere jolly di sottolineatura (_) viene utilizzato per rappresentare un carattere o un numero. Questi simboli possono anche essere combinati. Se l'operatore LIKE non viene utilizzato insieme a questi due segni, agirà come l'operatore di uguale.
Sintassi
Ecco la sintassi per l'operatore LIKE:
expression LIKE pattern [ ESCAPE 'escape-character' ]
L'espressione è un'espressione di caratteri come una colonna o un campo.
Il modello è un'espressione di caratteri con corrispondenza del modello.
Il carattere di escape è un parametro facoltativo. Consente il test di istanze letterali di caratteri jolly come% e _. Se non viene fornito, verrà utilizzato \ come carattere di escape.
Utilizzo di caratteri jolly%
Come abbiamo affermato in precedenza, il segno% corrisponde a zero, uno o più caratteri o numeri. Considera la seguente tabella:
Libro:
Vogliamo il libro il cui nome è come "Lear
... "per ottenere quel risultato, possiamo eseguire il seguente comando:SELECT *FROMBookWHEREname LIKE 'Lear%';
Ciò restituirà quanto segue:
Il libro è stato trovato.
Cerchiamo un libro "di" nel suo nome:
SELECT *FROMBookWHEREname LIKE '%by%';
Ciò restituirà quanto segue:
Utilizzo del carattere jolly _
Come abbiamo affermato in precedenza, il segno _ rappresenta un carattere o un numero. Può essere utilizzato come mostrato di seguito:
SELECT *FROMBookWHEREname LIKE '_earn%';
Ciò restituisce quanto segue:
Ecco un altro esempio:
SELECT *FROMBookWHEREname LIKE '%Beginner_';
Ciò restituisce quanto segue:
Utilizzo dell'operatore NOT
Quando l'operatore LIKE viene combinato con l'operatore NOT, viene restituita qualsiasi riga che non corrisponde al modello di ricerca. Ad esempio, per vedere un libro il cui nome non inizia con "post", possiamo eseguire il seguente comando:
SELECT *FROMBookWHEREname NOT LIKE 'Post%';
Ciò restituisce quanto segue:
Solo un libro ha soddisfatto la condizione di ricerca. Vediamo l'elenco dei nomi dei libri che non hanno una parola "Made":
SELECT *FROMBookWHEREname NOT LIKE '%Made%';
Ciò restituisce quanto segue:
3 righe soddisfano la condizione di ricerca.
Utilizzando pgAdmin
Vediamo ora come eseguire le azioni utilizzando pgAdmin.
Utilizzo di caratteri jolly%
Passaggio 1) Accedi al tuo account pgAdmin.
Passo 2)
- Dalla barra di navigazione a sinistra, fare clic su Database.
- Fare clic su Demo.
Passaggio 3) Digita la query nell'editor di query:
SELECT *FROMBookWHEREname LIKE 'Lear%';
Passaggio 4) Fare clic sul pulsante Esegui.
Dovrebbe restituire quanto segue:
Per cercare un libro "di" nel suo nome:
Passaggio 1) Digita il seguente comando nell'editor di query:
SELECT *FROMBookWHEREname LIKE '%by%';
Passaggio 2) Fare clic sul pulsante Esegui.
Dovrebbe restituire quanto segue:
Utilizzo del carattere jolly _
Passaggio 1) Accedi al tuo account pgAdmin.
Passo 2)
- Dalla barra di navigazione a sinistra, fare clic su Database.
- Fare clic su Demo.
Passaggio 3) Digita la query nell'editor di query:
SELECT *FROMBookWHEREname LIKE '_earn%';
Passaggio 4) Fare clic sul pulsante Esegui.
Dovrebbe restituire quanto segue:
Passaggio 5) Per eseguire il secondo esempio:
- Digita la seguente query nell'editor di query:
SELECT *FROMBookWHEREname LIKE '%Beginner_';
- Fare clic sul pulsante Esegui.
Dovrebbe restituire quanto segue:
Utilizzo dell'operatore NOT
Passaggio 1) Accedi al tuo account pgAdmin.
Passo 2)
- Dalla barra di navigazione a sinistra, fare clic su Database.
- Fare clic su Demo.
Passaggio 3) Per visualizzare tutti i libri i cui nomi non iniziano con "Post", digita la query nell'editor delle query:
SELECT *FROMBookWHEREname NOT LIKE 'Post%';
Passaggio 4) Fare clic sul pulsante Esegui.
Dovrebbe restituire quanto segue:
Per visualizzare l'elenco dei libri i cui nomi non contengono la parola "Made":
Passaggio 1) Digita la seguente query nell'editor di query:
SELECT *FROMBookWHEREname NOT LIKE '%Made%';
Passaggio 2) Fare clic sul pulsante Esegui.
Dovrebbe restituire quanto segue:
Sommario:
- PostgreSQL LIKE viene utilizzato per confrontare i valori di testo con i modelli utilizzando i caratteri jolly.
- La clausola LIKE ci consente di utilizzare caratteri jolly nelle istruzioni SELECT, UPDATE, INSERT o DELETE.
- Il carattere jolly% corrisponde a uno o più valori. I valori possono essere numeri o caratteri.
- Il carattere jolly _ corrisponde esattamente a un valore. Il valore può essere un carattere o un numero.
- L'operatore LIKE può essere combinato con l'operatore NOT per restituire qualsiasi riga che non corrisponde al modello di ricerca.
Scarica il database utilizzato in questo tutorial