REGEXP_COUNT¶
Retorna o número de vezes que um padrão ocorre em uma string.
Sintaxe¶
Argumentos¶
Obrigatório:
subjectA cadeia de caracteres a ser procurada por correspondências.
patternPadrão a atender.
Para diretrizes sobre como especificar padrões, consulte Funções de cadeia de caracteres (expressões regulares).
Opcional:
positionNúmero de caracteres a partir do início da cadeia de caracteres onde a função inicia a busca por correspondências. O valor deve ser um número inteiro positivo.
Padrão:
1(a busca por uma correspondência começa no primeiro caractere à esquerda)parametersCadeia de caracteres de um ou mais caracteres que especifica os parâmetros usados para a busca de correspondências. Valores com suporte:
Parâmetro
Descrição
cCorrespondência com distinção entre maiúsculas e minúsculas
iCorrespondência sem distinção entre maiúsculas e minúsculas
mModo multilinha
eExtração de subcorrespondências
sO caractere curinga POSIX do modo de linha única
.corresponde a\nPadrão:
cPara obter mais informações, consulte Especificação dos parâmetros para a expressão regular.
Retornos¶
Retorna um valor do tipo NUMBER. Retorna NULL se algum argumento for NULL.
Notas de uso¶
Consulte Notas de uso geral para funções de expressão regular.
Detalhes do agrupamento¶
Arguments with collation specifications currently aren’t supported.
Exemplos¶
O seguinte exemplo conta as ocorrências da palavra was. Você pode usar o metacaractere \b para indicar um limite de palavras. No exemplo a seguir, a correspondência começa no primeiro caractere da string w e termina no último caractere da string s. Portanto, não corresponde às palavras com a string (como washing):
O exemplo a seguir usa o parâmetro i para correspondência do caractere e sem distinção entre maiúsculas e minúsculas:
O exemplo seguinte ilustra ocorrências que se sobrepõem: Criar uma tabela e inserir dados:
Execute uma consulta que use REGEXP_COUNT para contar o número de vezes que o seguinte padrão é encontrado em cada linha: um sinal de pontuação seguido por dígitos e letras, seguido por um sinal de pontuação.
Os exemplos restantes usam os dados na seguinte tabela:
A consulta a seguir retorna o número total de mensagens para cada dia em busca do delimitador (,) e adicionando um ao total:
Suponha que os erros sempre começam com ER seguido de um hífen e um número de quatro dígitos. A consulta a seguir conta o número de erros para cada dia: