Heim  >  Artikel  >  Datenbank  >  Wie kann die REGEXP_REPLACE-Funktion von MySQL Wörter in einer Spalte genau zählen?

Wie kann die REGEXP_REPLACE-Funktion von MySQL Wörter in einer Spalte genau zählen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-27 06:03:18713Durchsuche

How Can MySQL's REGEXP_REPLACE Function Accurately Count Words in a Column?

Wörter zählen in MySQL: Reguläre Ausdrücke nutzen

Problemstellung:

Zählen der Anzahl von Wörtern in einer MySQL-Datenbank Die Verwendung regulärer Ausdrücke in einer Spalte ist eine häufige Aufgabe. Der Standardansatz der Verwendung von LENGTH(name) - LENGTH(REPLACE(name, ' ', '') 1 greift jedoch zu kurz, wenn Wörter durch mehrere Leerzeichen getrennt werden. Diese Frage befasst sich mit einer alternativen Lösung, die die Regex.Replace-Funktionalität für eine genauere Darstellung nutzt Ergebnisse.

Lösung:

Die MySQL-Datenbank bietet die Funktion REGEXP_REPLACE, die als verwendet werden kann Benutzerdefinierte Funktion. Diese Funktion stellt das gewünschte Regex.Replace-Verhalten bereit. Betrachten Sie die folgende Abfrage:

SELECT LENGTH(REGEXP_REPLACE(name, '\s+', ' ')) - LENGTH(REGEXP_REPLACE(name, '\s+', '') +1 FROM table

Diese Abfrage ersetzt mehrere Leerzeichen durch ein einzelnes Leerzeichen und zählt so die Leerzeichen als Worttrennzeichen.

Alternative Überlegungen:

Für eine optimale Leistung wird empfohlen, doppelte Leerzeichen zu verhindern Eingabe in die Datenbank. Wenn häufig auf die Wortanzahl zugegriffen wird, kann sie außerdem einmal berechnet und zum schnelleren Abruf in der Datenbank gespeichert werden.

Das obige ist der detaillierte Inhalt vonWie kann die REGEXP_REPLACE-Funktion von MySQL Wörter in einer Spalte genau zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn