sql >> Base de Datos >  >> RDS >> PostgreSQL

Contando el número de ocurrencias de una subcadena dentro de una cadena en PostgreSQL

Una solución común se basa en esta lógica:reemplace la cadena de búsqueda con una cadena vacía y divida la diferencia entre la longitud antigua y la nueva por la longitud de la cadena de búsqueda

(CHAR_LENGTH(name) - CHAR_LENGTH(REPLACE(name, 'substring', ''))) 
/ CHAR_LENGTH('substring')

Por lo tanto:

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