LIKE - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

LIKE

L'LIKEoperatore confronta un'espressione stringa, ad esempio il nome di una colonna, con uno schema che utilizza i caratteri jolly% (percentuale) e _ (trattino basso). LIKEla corrispondenza dei modelli copre sempre l'intera stringa. Per trovare la corrispondenza con una sequenza in qualsiasi parte di una stringa, è necessario che il modello inizi e termini con un segno di percentuale.

LIKEdistingue tra maiuscole e minuscole; ILIKE non fa distinzione tra maiuscole e minuscole.

Sintassi

expression [ NOT ] LIKE | ILIKE pattern [ ESCAPE 'escape_char' ]

Argomenti

espressione

Un'espressione valida di UTF -8 caratteri, ad esempio un nome di colonna.

LIKE | ILIKE

LIKEesegue una corrispondenza dello schema con distinzione tra maiuscole e minuscole. ILIKEesegue una corrispondenza dello schema senza distinzione tra maiuscole e minuscole per i caratteri -8 () a byte singoloUTF. ASCII Per eseguire una corrispondenza dello schema senza distinzione tra maiuscole e minuscole per caratteri multibyte, utilizzate la funzione su expression and pattern con una condizione. LOWERLIKE

A differenza dei predicati di confronto, come = e <>, i predicati non ignorano implicitamente gli LIKE spazi ILIKE finali. Per ignorare gli spazi finali, utilizzate RTRIM o inserite in modo esplicito una colonna su. CHAR VARCHAR

L'~~operatore è equivalente a LIKE ed ~~* è equivalente a. ILIKE Inoltre, gli !~~* operatori !~~ and sono equivalenti a NOT LIKE and NOTILIKE.

pattern

Un'espressione valida di UTF -8 caratteri con lo schema da abbinare.

escape_char

Un'espressione di caratteri che eseguirà l'escape dei metacaratteri nel modello. Per impostazione predefinita sono due barre rovesciate ("\\").

Se il pattern non contiene metacaratteri, il pattern rappresenta solo la stringa stessa; in tal caso LIKE agisce come l'operatore equals.

Le espressioni dei caratteri possono essere CHAR di due tipi di dati. VARCHAR Se differiscono, Amazon Redshift converte il modello al tipo di dati dell'espressione.

LIKEsupporta i seguenti metacaratteri di corrispondenza dei modelli:

Operatore Descrizione
% Abbina qualsiasi sequenza di zero o più caratteri.
_ Abbina qualsiasi carattere singolo.

Esempi

La tabella seguente mostra esempi di pattern matching utilizzando: LIKE

Expression Valori restituiti
'abc' LIKE 'abc' True
'abc' LIKE 'a%' True
'abc' LIKE '_B_' False
'abc' ILIKE '_B_' True
'abc' LIKE 'c%' False

L'esempio seguente trova tutte le città il cui nome inizia per "E":

select distinct city from users where city like 'E%' order by city; city --------------- East Hartford East Lansing East Rutherford East St. Louis Easthampton Easton Eatontown Eau Claire ...

L'esempio seguente trova tutti gli utenti il cui cognome contiene "ten":

select distinct lastname from users where lastname like '%ten%' order by lastname; lastname ------------- Christensen Wooten ...

Nell'esempio seguente viene illustrato come mettere in corrispondenza più modelli.

select distinct lastname from tickit.users where lastname like 'Chris%' or lastname like '%Wooten' order by lastname; lastname ------------- Christensen Christian Wooten ...

L'esempio seguente trova le città il cui terzo e quarto carattere sono "ea". Il comando utilizza ILIKE per dimostrare la mancanza di distinzione tra maiuscole e minuscole:

select distinct city from users where city ilike '__EA%' order by city; city ------------- Brea Clearwater Great Falls Ocean City Olean Wheaton (6 rows)

Nell'esempio seguente viene usata la stringa con caratteri escape predefinita (\\) per ricercare stringhe che contengono "start_" (il testo start seguito da una sottolineatura _):

select tablename, "column" from pg_table_def where "column" like '%start\\_%' limit 5; tablename | column -------------------+--------------- stl_s3client | start_time stl_tr_conflict | xact_start_ts stl_undone | undo_start_ts stl_unload_log | start_time stl_vacuum_detail | start_row (5 rows)

L'esempio seguente specifica "^" come carattere di escape, quindi usa il carattere di escape per ricercare stringhe che contengono "start_" (il testo start seguito da una sottolineatura _):

select tablename, "column" from pg_table_def where "column" like '%start^_%' escape '^' limit 5; tablename | column -------------------+--------------- stl_s3client | start_time stl_tr_conflict | xact_start_ts stl_undone | undo_start_ts stl_unload_log | start_time stl_vacuum_detail | start_row (5 rows)

L'esempio seguente utilizza l'~~*operatore per eseguire una ricerca senza distinzione tra maiuscole e minuscole (ILIKE) per le città che iniziano con «Ag».

select distinct city from users where city ~~* 'Ag%' order by city; city ------------ Agat Agawam Agoura Hills Aguadilla