Avalados por :
En esta publicación, originalmente escrita por Glenn Paulley y publicada en sybase.com en junio de 2009, Glenn discute cómo las expresiones regulares pueden ser utilizadas en consultas en SQL Anywhere.
SQL Anywhere
versión 11.0.0 introdujo soporte para condiciones de búsqueda que incluyen la búsqueda con expresiones regulares. Hay dos variantes de predicados de búsqueda de expresiones regulares que se pueden utilizar, cada uno con su propia semántica:
SIMILAR TO
y
REGEXP
.
El predicado
SIMILAR TO
es parte del estándar SQL ANSI/ISO 2008. Sin embargo, el borrador del próximo estándar SQL, previsto para el año 2011, está actualmente en desarrollo; de hecho, una reunión de edición del WG3 está en curso en Corea esta semana, y es probable que
SIMILAR TO
sea eliminado de las versiones posteriores del estándar SQL, ya que su funcionalidad está siendo reemplazada por el predicado
REGEXP_LIKE
(ver más abajo).
La sintaxis del predicado
SIMILAR TO
es directa:
expresión [ NOT ] SIMILAR TO patrón [ ESCAPE escape-expresión ]
pero como de costumbre, el detalle está en los detalles. Para empezar, aquí hay un ejemplo, utilizando la base de datos de demostración de SQL Anywhere:
SELECT *
FROM Customers
WHERE CódigoPostal NOT SIMILAR TO '([0-9]{5})|([0-9]{5}-[0-9]{4})|([A-Z][0-9][A-Z][[:whitespace:]]{1}[0-9][A-Z][0-9])'
que encuentra todas las direcciones con códigos postales con formato inválido (ya sea de EE. UU. o Canadá); los códigos aceptados tienen los formatos de (a) cinco números (EE. UU.), (b) cinco números, un guion y cuatro números (EE. UU.), y (c) los códigos postales canadienses alfanuméricos de seis caracteres con un espacio en blanco incrustado.
Los patrones de expresiones regulares admitidos por
SIMILAR TO
, sin embargo, difieren de los admitidos por condiciones de expresiones regulares en otros paquetes de software (como Perl). Aquí hay una pequeña lista no exhaustiva de diferencias (una lista más exhaustiva se encuentra en la
documentación de SQL Anywhere
😞
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute