PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Zählen der Anzahl der Vorkommen eines Teilstrings innerhalb eines Strings in PostgreSQL

Eine gängige Lösung basiert auf dieser Logik:Ersetze den Suchstring durch einen leeren String und dividiere die Differenz zwischen alter und neuer Länge durch die Länge des Suchstrings

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

Daher:

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