Comparación de patrones

Cada patrón define un conjunto de series. La expresión LIKE devuelve true si la serie está en el conjunto de series representadas por el patrón. La expresión NOT LIKE devuelve false si LIKE devuelve true, y viceversa. Una expresión equivalente es NOT (patrón de la serie LIKE).

Si el patrón no contiene signos de porcentaje o guiones bajos, el patrón solo representa la serie misma; en ese caso, LIKE actúa como operador de iguales. Un guión bajo (_) en el patrón representa (coincide) con cualquier carácter único; un signo de porcentaje (%)coincide con cualquier serie de cero o más caracteres.

Por ejemplo:
  • 'abc' LIKE 'abc' true
  • 'abc' LIKE 'a%' true
  • 'abc' LIKE '_b_' true
  • 'abc' LIKE 'c' false

Las coincidencias del patrón LIKE siempre incluyen la serie completa. Para hacer coincidir un patrón en cualquier lugar dentro de una serie, el patrón debe comenzar y finalizar con un signo de porcentaje.

Para hacer coincidir un signo de porcentaje o un guión bajo de literal sin que coincida con otros caracteres, debe preceder el carácter respectivo del patrón con un carácter de escape. El carácter de escape predeterminado es la barra inclinada invertida, pero puede elegir un carácter diferente utilizando la cláusula ESCAPE. Para hacer coincidir el carácter de escape consigo mismo, entre dos caracteres de escape.

para hacer escapar el carácter %, utilice la barra inclinada invertida, por ejemplo:
   SELECT * FROM table WHERE col LIKE '%90\%%'
Si no puede utilizar el carácter de barra inclinada invertida, designe otro carácter ASCII como carácter de escape, por ejemplo:
   SELECT * FROM table WHERE col LIKE '%90#%%' escape '#'

También es posible no seleccionar ningún carácter de escape entrando ESCAPE '' (comillas simples vacías). En este caso, no hay forma de desactivar el significado especial de los signos de porcentaje y guión bajo del patrón.

Netezza Performance Server SQL no admite operadores SQL ILIKE (búsqueda sin distinción entre mayúsculas y minúsculas). Sin embargo, siempre puede utilizar UPPER() o LOWER() para hacer búsquedas que no sean sensibles a mayúsculas y minúsculas. Por ejemplo:
WHERE UPPER(first_name) LIKE 'PAT%'