SQL: Häufigkeit des Vorkommens einer Zeichenfolge innerhalb eines Texts ermitteln
Aus DBWiki
Ersetzt man durch Verwendung der Replace()-Funktion im ursprünglichen Text die zu suchende Zeichenfolge durch eine leere Zeichenfolge, lässt sich durch Subtraktion der Länge des erhaltenen Textes von der Länge des Ursprungstextes, und anschließender Division durch die Länge der zu suchenden Zeichenfolge, deren Häufigkeit ermitteln.
Will man z. B. die Anzahl der Semikolons in einem Text ermitteln, so kann das so erfolgen (wegen eines einzelnen Zeichens entfällt hier der Divisionsschritt):
SELECT Len( '7369;Schmidt;Sachbearbeiter;7902;17.02.1981;800;;20' ) - Len( REPLACE( '7369;Schmidt;Sachbearbeiter;7902;17.02.1981;800;;20', ';' ,'' ) ) AS num_semikons
Als Ergebnis sollten wir 7 erhalten.
Dieses Beispiel sucht nach einer längeren Zeichenfolge, weshalb eine Division durch die Länge dieser Zeichenfolge erforderlich ist.
SELECT (Len( 'Abrakadabra' ) - Len( REPLACE( 'Abrakadabra', 'ra', '' ) ) ) \ Len( 'ra' ) AS num_semikons
Hier sollte 2 als Ergebnis erscheinen.

Anmerkung:
- In Jet-SQL kann statt des für eine Division üblichen Schrägstrichs (/) ein umgekehrter Schrägstrich (\) für eine Ganzzahl-Division verwendet werden.