Avalados por :
Nesta publicação, originalmente escrita por Glenn Paulley e publicada em sybase.com em junho de 2009, Glenn discute como as expressões regulares podem ser usadas em consultas no SQL Anywhere.
SQL Anywhere
versão 11.0.0 introduziu suporte para condições de busca que incluem a busca com expressões regulares. Existem duas variantes de predicados de busca de expressões regulares que podem ser usados, cada um com sua própria semântica:
SIMILAR TO
e
REGEXP
.
O predicado
SIMILAR TO
faz parte do padrão SQL ANSI/ISO 2008. No entanto, o rascunho do próximo padrão SQL, previsto para 2011, está atualmente em desenvolvimento; de fato, uma reunião de edição do WG3 está em andamento na Coreia esta semana, e é provável que
SIMILAR TO
seja removido das versões posteriores do padrão SQL, pois sua funcionalidade está sendo substituída pelo predicado
REGEXP_LIKE
(veja abaixo).
A sintaxe do predicado
SIMILAR TO
é direta:
expressão [ NOT ] SIMILAR TO padrão [ ESCAPE escape-expressão ]
mas como de costume, o detalhe está nos detalhes. Para começar, aqui está um exemplo, usando o banco de dados de demonstração do 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 encontra todos os endereços com códigos postais com formato inválido (seja dos EUA ou Canadá); os códigos aceitos têm os formatos de (a) cinco números (EUA), (b) cinco números, um hífen e quatro números (EUA), e (c) os códigos postais canadenses alfanuméricos de seis caracteres com um espaço em branco embutido.
Os padrões de expressões regulares suportados por
SIMILAR TO
, no entanto, diferem dos suportados por condições de expressões regulares em outros pacotes de software (como Perl). Aqui está uma pequena lista não exaustiva de diferenças (uma lista mais exaustiva está na
documentação do SQL Anywhere
?
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute