Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2025 (17.x) Versão prévia
do Banco de Dados
SQL do Azurebanco de dadosSQL do Banco de Dados SQL do Azure banco de dados SQL gerenciado
no Microsoft Fabric
Nota
Como um recurso de visualização, a tecnologia apresentada neste artigo está sujeita a termos de uso complementares para o Microsoft Azure Previews.
Conta o número de vezes que um padrão de expressão regular é correspondido em uma cadeia de caracteres.
REGEXP_COUNT (
string_expression,
pattern_expression [ , start [ , flags ] ]
)
Argumentos
string_expression
Uma expressão de uma cadeia de caracteres.
Pode ser uma constante, variável ou coluna de cadeia de caracteres.
Tipos de dados: char, nchar, varcharou nvarchar.
Nota
As REGEXP_LIKE
funções e REGEXP_COUNT
REGEXP_INSTR
funções dão suporte a tipos LOB (varchar(max) e nvarchar(max)) até 2 MB para o parâmetro string_expression.
expressão_padrão
Padrão de expressão regular a ser correspondido. Normalmente, um literal de texto.
Tipos de dados: char, nchar, varcharou nvarchar. pattern_expression dá suporte a um comprimento máximo de caractere de 8.000 bytes.
iniciar
Especifique a posição inicial da pesquisa dentro da cadeia de caracteres de pesquisa. Opcional. O tipo é int ou bigint.
A numeração é baseada em 1, o que significa que o primeiro caractere na expressão é 1
e o valor deve ser >= 1
. Se a expressão inicial for menor que 1
a pattern_expression retornada começará no primeiro caractere especificado em string_expression. Se a expressão inicial for maior que o comprimento de string_expression, a função retornará 0
. O padrão é 1
.
Se a expressão inicial for menor que 1
, a consulta retornará um erro.
sinalizadores
Um ou mais caracteres que especificam os modificadores usados para pesquisar correspondências. O tipo é varchar ou char, com um máximo de 30 caracteres.
Por exemplo, ims
. O padrão é c
. Se uma cadeia de caracteres vazia (' ')
for fornecida, ela será tratada como o valor padrão ('c')
. Forneça c
ou qualquer outra expressão de caractere. Se o sinalizador contiver vários caracteres contraditórios, o SQL Server usará o último caractere.
Por exemplo, se você especificar ic
o regex retornará correspondência que diferencia maiúsculas de minúsculas.
Se o valor contiver um caractere diferente daqueles listados em valores de sinalizador com suporte, a consulta retornará um erro como o exemplo a seguir:
Invalid flag provided. '<invalid character>' are not valid flags. Only {c,i,s,m} flags are valid.
Valores de sinalizador com suporte
Bandeira | Descrição |
---|---|
i |
Não diferencia maiúsculas de minúsculas (padrão false ) |
m |
Modo de várias linhas: ^ e $ corresponder à linha de início/término, além do texto de início/término (padrão false ) |
s |
Permitir . correspondência \n (padrão false ) |
c |
Diferencia maiúsculas de minúsculas (padrão true ) |
Valor de retorno
int
Exemplos
Conte quantas vezes a letra a
aparece em cada nome do produto.
SELECT PRODUCT_NAME,
REGEXP_COUNT(PRODUCT_NAME, 'a') AS A_COUNT
FROM PRODUCTS;
Conte quantos produtos têm um nome que termina com ing
.
SELECT COUNT(*)
FROM PRODUCTS
WHERE REGEXP_COUNT(PRODUCT_NAME, 'ing$') > 0;
Conte quantos produtos têm um nome que contém três consoantes consecutivas, ignorando maiúsculas e minúsculas.
SELECT COUNT(*)
FROM PRODUCTS
WHERE REGEXP_COUNT(PRODUCT_NAME, '[^aeiou]{3}', 1, 'i') > 0;