PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Compter le nombre d'occurrences d'une sous-chaîne dans une chaîne dans PostgreSQL

Une solution courante est basée sur cette logique :remplacez la chaîne de recherche par une chaîne vide et divisez la différence entre l'ancienne et la nouvelle longueur par la longueur de la chaîne de recherche

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

D'où :

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