PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Contando o número de ocorrências de uma substring dentro de uma string no PostgreSQL


Uma solução comum é baseada nesta lógica:substitua a string de pesquisa por uma string vazia e divida a diferença entre o comprimento antigo e o novo pelo comprimento da string de pesquisa
(CHAR_LENGTH(name) - CHAR_LENGTH(REPLACE(name, 'substring', ''))) 
/ CHAR_LENGTH('substring')

Conseqüentemente:
UPDATE test."user"
SET result = 
    (CHAR_LENGTH(name) - CHAR_LENGTH(REPLACE(name, 'o', ''))) 
    / CHAR_LENGTH('o');