LIKE - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

LIKE

L'LIKEopérateur compare une expression de chaîne, telle qu'un nom de colonne, à un modèle utilisant les caractères génériques % (pourcentage) et _ (trait de soulignement). LIKEla correspondance des motifs couvre toujours l'ensemble de la chaîne. Pour faire correspondre une séquence à n’importe quel emplacement au sein d’une chaîne, le modèle doit commencer et finir par un signe %.

LIKEdistingue majuscules et minuscules ; ne fait pas la distinction ILIKE majuscules/minuscules.

Syntaxe

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

Arguments

expression

Expression valide de UTF 8 caractères, telle qu'un nom de colonne.

LIKE | ILIKE

LIKEeffectue une correspondance entre majuscules et minuscules. ILIKEeffectue une correspondance de modèle sans distinction majuscules/minuscules pour les caractères UTF -8 () à un octet. ASCII Pour effectuer une correspondance de modèle sans distinction majuscules/minuscules pour les caractères multioctets, utilisez la LOWERfonction sur l'expression et le modèle avec une condition. LIKE

Contrairement aux prédicats de comparaison, tels que = et <>, LIKE les ILIKE prédicats n'ignorent pas implicitement les espaces de fin. Pour ignorer les espaces de fin, utilisez RTRIM ou convertissez explicitement une CHAR colonne enVARCHAR.

L'~~opérateur est équivalent àLIKE, et ~~* est équivalent àILIKE. Les !~~* opérateurs !~~ et sont également équivalents à NOT LIKE et NOTILIKE.

pattern

Expression valide de UTF -8 caractères avec le modèle à associer.

escape_char

Expression de caractère qui utilise une séquence d’échappement pour les méta-caractères du modèle. La valeur par défaut est deux barres obliques inverses (’\\ »).

Si le motif ne contient pas de métacaractères, le modèle ne représente que la chaîne elle-même ; dans ce cas, il LIKE agit de la même manière que l'opérateur égal.

L'une ou l'autre des expressions de caractères peut être CHAR un ou VARCHAR plusieurs types de données. En cas de différence, Amazon Redshift convertit pattern au type de données de l’expression.

LIKEprend en charge les métacaractères de correspondance de modèles suivants :

Opérateur Description
% Met en correspondance une séquence de zéro ou plusieurs caractères.
_ Met en correspondance un seul caractère.

Exemples

Le tableau suivant présente des exemples de correspondance de modèles utilisant LIKE :

Expression Renvoie
'abc' LIKE 'abc' True
'abc' LIKE 'a%' True
'abc' LIKE '_B_' False
'abc' ILIKE '_B_' True
'abc' LIKE 'c%' False

L’exemple suivant recherche toutes les villes dont le nom commence par « 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’exemple suivant recherche les utilisateurs dont le nom contient « ten » :

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

L’exemple suivant montre comment associer plusieurs modèles.

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

L’exemple suivant recherche villes dont les troisième et quatrième caractères sont « ea ». La commande est utilisée ILIKE pour démontrer l'indifférence majuscules/minuscules :

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

L’exemple suivant utilise la chaîne d’échappement par défaut (\\) pour rechercher les chaînes qui incluent « start_» (texte start suivi d’un trait de soulignement _) :

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’exemple suivant spécifie « ^ » comme caractère d’échappement, puis utilise ce dernier pour rechercher des chaînes qui incluent « start_ » (texte start suivi d’un trait de soulignement _) :

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'exemple suivant utilise l'~~*opérateur pour effectuer une recherche sans distinction majuscules/majuscules (ILIKE) pour les villes commençant par « Ag ».

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