PostgreSQL LIKE, Not Like, Caratteri jolly (%, _ ) Esempi
Le PostgreSQL L'operatore LIKE ci aiuta a far corrispondere i valori di testo ai pattern usando i caratteri jolly. È possibile far corrispondere l'espressione di ricerca all'espressione del pattern.
Se si verifica una corrispondenza, l'operatore LIKE restituisce true. Con l'aiuto dell'operatore LIKE, è possibile utilizzare i caratteri jolly nella clausola WHERE delle istruzioni SELECT, UPDATE, INSERT o DELETE.
Carte jolly
Ci sono solo due caratteri jolly che possono essere utilizzati insieme
- Segno di percentuale (%)
- Sottolineato (_)
Il segno di percentuale (%) viene utilizzato per rappresentare zero, uno o più 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, si comporterà come l'operatore uguale.
Sintassi
Ecco la sintassi dell'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 di testare istanze letterali di caratteri jolly come % e _. Se non viene fornito, \ verrà utilizzato come carattere di escape.
Utilizzo del carattere jolly %
Come abbiamo detto prima, il segno % corrisponde a zero, uno o più caratteri o numeri. Considerate la seguente tabella:
Libro:
Vogliamo che il libro il cui nome è simile a "Lear..." ottenga quel risultato, possiamo eseguire il seguente comando:
SELECT * FROM Book WHERE name LIKE 'Lear%';
Verrà restituito quanto segue:
Il libro è stato trovato.
Cerchiamo un libro “di” nel suo nome:
SELECT * FROM Book WHERE name LIKE '%by%';
Verrà restituito quanto segue:
Utilizzando _ carattere jolly
Come abbiamo affermato in precedenza, il segno _ rappresenta un carattere o numero. Può essere utilizzato come mostrato di seguito:
SELECT * FROM Book WHERE name LIKE '_earn%';
Questo restituisce quanto segue:
Ecco un altro esempio:
SELECT * FROM Book WHERE name LIKE '%Beginner_';
Questo restituisce quanto segue:
Usando NOT Operator
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 * FROM Book WHERE name NOT LIKE 'Post%';
Questo restituisce quanto segue:
Solo un libro ha soddisfatto la condizione di ricerca. Vediamo l'elenco dei nomi dei libri che non contengono la parola "Made":
SELECT * FROM Book WHERE name NOT LIKE '%Made%';
Questo restituisce quanto segue:
3 righe hanno soddisfatto la condizione di ricerca.
Utilizzando pgAdmin
Vediamo ora come si possono eseguire le azioni utilizzando pgAdmin.
Utilizzo del carattere jolly %
Passo 1) Accedi al tuo account pgAdmin.
Passo 2)
- Dalla barra di navigazione a sinistra, fare clic su Database.
- Fare clic su Demo.
Passo 3) Digita la query nell'editor di query:
SELECT * FROM Book WHERE name LIKE 'Lear%';
Passo 4) Fare clic sul pulsante Esegui.
Dovrebbe restituire quanto segue:
Per cercare un libro "di" nel suo nome:
Passo 1) Digitare il seguente comando nell'editor di query:
SELECT * FROM Book WHERE name LIKE '%by%';
Passo 2) Fare clic sul pulsante Esegui.
Dovrebbe restituire quanto segue:
Utilizzando _ carattere jolly
Passo 1) Accedi al tuo account pgAdmin.
Passo 2)
- Dalla barra di navigazione a sinistra, fare clic su Database.
- Fare clic su Demo.
Passo 3) Digita la query nell'editor di query:
SELECT * FROM Book WHERE name LIKE '_earn%';
Passo 4) Fare clic sul pulsante Esegui.
Dovrebbe restituire quanto segue:
Passo 5) Per eseguire il secondo esempio:
- Digitare la seguente query nell'editor di query:
SELECT * FROM Book WHERE name LIKE '%Beginner_';
- Fare clic sul pulsante Esegui.
Dovrebbe restituire quanto segue:
Usando NOT Operator
Passo 1) Accedi al tuo account pgAdmin.
Passo 2)
- Dalla barra di navigazione a sinistra, fare clic su Database.
- Fare clic su Demo.
Passo 3) Per vedere tutti i libri i cui nomi non iniziano con "Post", digita la query nell'editor di query:
SELECT * FROM Book WHERE name NOT LIKE 'Post%';
Passo 4) Fare clic sul pulsante Esegui.
Dovrebbe restituire quanto segue:
Per visualizzare l'elenco dei libri i cui nomi non contengono la parola "Made":
Passo 1) Digitare la seguente query nell'editor di query:
SELECT * FROM Book WHERE name NOT LIKE '%Made%';
Passo 2) Fare clic sul pulsante Esegui.
Dovrebbe restituire quanto segue:
Sommario
- Le PostgreSQL LIKE viene utilizzato per abbinare i valori di testo ai modelli utilizzando i caratteri jolly.
- La clausola LIKE ci consente di utilizzare i caratteri jolly in SELEZIONA, 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.