PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Conteggio del numero di occorrenze di una sottostringa all'interno di una stringa in PostgreSQL

Una soluzione comune si basa su questa logica:sostituire la stringa di ricerca con una stringa vuota e dividere la differenza tra la vecchia e la nuova lunghezza per la lunghezza della stringa di ricerca

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

Quindi:

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