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:

Utilizzo del carattere jolly %

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:

Utilizzo del carattere jolly %

Il libro è stato trovato.

Cerchiamo un libro “di” nel suo nome:

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

Verrà restituito quanto segue:

Utilizzo del carattere jolly %

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:

Utilizzando _ carattere jolly

Ecco un altro esempio:

SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';

Questo restituisce quanto segue:

Utilizzando _ carattere jolly

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:

Usando NOT Operator

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:

Usando NOT Operator

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)

  1. Dalla barra di navigazione a sinistra, fare clic su Database.
  2. Fare clic su Demo.

Utilizzo di pgAdmin con il carattere jolly %

Passo 3) Digita la query nell'editor di query:

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

Passo 4) Fare clic sul pulsante Esegui.

Utilizzo di pgAdmin con il carattere jolly %

Dovrebbe restituire quanto segue:

Utilizzo di pgAdmin con il carattere jolly %

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.

Utilizzo di pgAdmin con il carattere jolly %

Dovrebbe restituire quanto segue:

Utilizzo di pgAdmin con il carattere jolly %

Utilizzando _ carattere jolly

Passo 1) Accedi al tuo account pgAdmin.

Passo 2)

  1. Dalla barra di navigazione a sinistra, fare clic su Database.
  2. Fare clic su Demo.

Utilizzo di pgAdmin con _ carattere jolly

Passo 3) Digita la query nell'editor di query:

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

Passo 4) Fare clic sul pulsante Esegui.

Utilizzo di pgAdmin con _ carattere jolly

Dovrebbe restituire quanto segue:

Utilizzo di pgAdmin con _ carattere jolly

Passo 5) Per eseguire il secondo esempio:

  1. Digitare la seguente query nell'editor di query:
    SELECT *
    FROM
       Book
    WHERE
       name LIKE '%Beginner_';
    
  2. Fare clic sul pulsante Esegui.

Utilizzo di pgAdmin con _ carattere jolly

Dovrebbe restituire quanto segue:

Utilizzo di pgAdmin con _ carattere jolly

Usando NOT Operator

Passo 1) Accedi al tuo account pgAdmin.

Passo 2)

  1. Dalla barra di navigazione a sinistra, fare clic su Database.
  2. Fare clic su Demo.

Usando NOT Operator in pgAdmin

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.

Usando NOT Operator in pgAdmin

Dovrebbe restituire quanto segue:

Usando NOT Operator in pgAdmin

Usando NOT Operator in pgAdmin

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.

Usando NOT Operator in pgAdmin

Dovrebbe restituire quanto segue:

Usando NOT Operator in pgAdmin

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.

Scarica il database utilizzato in questo tutorial

Per saperne di più leggi di più