IBM PureData System for Analytics, Version 7.1

Correspondance des motifs

Chacun des motifs définit un ensemble de chaînes. L'expression LIKE renvoie la valeur true si la chaîne est contenue dans l'ensemble des chaînes représentées par le motif. L'expression NOT LIKE renvoie la valeur false si LIKE renvoie true et vice versa. L'expression NOT (chaîne LIKE motif) est équivalente.

Si le motif ne contient pas de signes pourcentage ou de traits de soulignement, le motif ne représente que la chaîne elle-même ; dans ce cas, LIKE agit comme l'opérateur Egal à. Un trait de soulignement (_) dans le motif représente tout caractère unique ; un signe pourcentage (%) représente une chaîne de zéro, un ou plusieurs caractères.

Par exemple :
  • 'abc' LIKE 'abc' true
  • 'abc' LIKE 'a%' true
  • 'abc' LIKE '_b_' true
  • 'abc' LIKE 'c' false

Les correspondances de motif LIKE incluent toujours la chaîne dans son intégralité. Pour rechercher un motif n'importe où dans une chaîne, ce motif doit donc commencer et se terminer par un signe pourcentage.

Pour rechercher un trait de soulignement ou un signe pourcentage littéral sans aucun autre caractère, vous devez précéder le caractère respectif dans le motif du caractère d'échappement. Le caractère d'échappement par défaut est la barre oblique inversée, mais vous pouvez en choisir un autre à l'aide de la clause ESCAPE. Pour rechercher le caractère d'échappement lui-même, entrez deux caractères d'échappement.

Comme caractère d'échappement du signe %, utilisez une barre oblique inversée. Par exemple :
   SELECT * FROM table WHERE col LIKE '%90\%%'
Si vous ne pouvez pas utiliser la barre oblique inversée, désignez un autre caractère ASCII comme caractère d'échappement. Par exemple :
   SELECT * FROM table WHERE col LIKE '%90#%%' escape '#'

Il est également possible de ne sélectionner aucun caractère d'échappement en entrant ESCAPE '' (apostrophes vides). Dans ce cas, il n'existe aucun moyen de désactiver la signification des traits de soulignement et des signes pourcentage dans le motif.

IBM® Netezza SQL ne prend pas en charge les opérateurs SQL ILIKE (recherche non sensible à la casse). Toutefois, vous pouvez toujours utiliser UPPER() ou LOWER() pour effectuer des recherches non sensibles à la casse. Par exemple :
WHERE UPPER(first_name) LIKE 'PAT%'


Feedback | Copyright IBM Corporation 2014 | Last updated: 2014-02-28