Expressões Regulares
Visão Geral
Uma Expressão Regular é uma notação, ou especificamente, uma sequência de símbolos e caracteres que expressam uma string ou padrão. Elas são geralmente usadas na área de SQL Empresarial de App Builder para validar a entrada do usuário ou restringir/encontrar um padrão específico dentro de um grande pedaço de texto.
Sempre que LIKE for usado em uma cláusula where com um curinga (%
), você está usando Expressões Regulares. Você pode estar familiarizado com a declaração WHERE MyField LIKE 'ABCD%'
, mas você também pode usar colchetes para pesquisar um intervalo WHERE MyField LIKE '[A-B][CD][A-Z][A-Z]%'
que retornará qualquer registro com uma combinação de A ou B como o primeiro caractere, C ou D como o segundo, quaisquer caracteres alfabéticos nos próximos dois caracteres e qualquer outra coisa no final.
A mesma estrutura Reg Ex se aplica a números. Se você estiver filtrando em um intervalo de valores, digamos 900-919, você pode filtrar WHERE MyField IN ('900', '901', '902'... etc)
mas é mais limpo de usar WHERE MyField LIKE '9[0-1][0-9]'
(lidando com campos de string aqui, não numéricos). você pode encontrar números de telefone que se encaixam no padrão WHERE MyField LIKE '[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]'
Abaixo está um exemplo similar ao exemplo acima onde, neste caso, a expressão está validando se os registros em FieldValue contêm as strings de caracteres 900S, 901S, 902S, ..., 919S.
Você também pode usar o ^
caractere que representa NÃO na string WHERE MyField LIKE '[^0-9]%'
que retornará registros com um caractere não numérico como primeiro caractere, seguido por qualquer coisa. WHERE MyField LIKE '[A-Z][^A-Z]'
retornará registros com dois caracteres, o primeiro sendo alfabético e o segundo não alfabético.
Nota
App Builder não suporta o caractere '+' ao usar LIKE
para Regex. Se você estiver procurando usar esse caractere, você pode fazer isso usando o plugin de validação Regex.
Há uma TONELADA de outras ferramentas poderosas dentro das Expressões Regulares que podem ser usadas com App Builder- os mencionados neste artigo são alguns dos mais comuns usados. Aqui está um link de tutorial se você quiser aprender mais: https://www.mssqltips.com/sqlservertutorial/9108/precise-alphabetic-filtering-with-regular-expressions-for-tsql/