MySQL – Zeichen in Zeichenkette zählen.

In MySQL gibt es keine Funktion um ein bestimmtes Zeichen in einer Zeichenkette zu zählen. Um die Anzahl eines Zeichens in einer Zeichenkette zu ermitteln, kann jedoch eine einfache Formel angewendet werden. So kann von der Gesamtzahl der Zeichen die Anzahl ohne das gesuchte Zeichen abgezogen werden. Dies kann bereits in einer einfachen Abfrage ausgeführt werden:

Diese sehr einfache Abfrage verwendet die Funktion LENGTH  welche in diesem Fall für die Ermittlung der Anzahl verwendet werden kann. Sollte aber eine Zeichenkette verwendet werden, in welcher Multi-Byte-Zeichen vorhanden sind, so sollte statt LENGTH  die Funktion CHAR_LENGTH  verwendet werden:

Um nun nicht in der jeder Abfrage diese Berechnung selbst durchführen zu müssen kann eine Funktion in MySQL erstellt und in einer Abfrage verwendet werden. Um die Funktion zu erstellen kann das folgende Statement ausgeführt werden. Die Funktion steht anschließend in der gesamten Datenbank zur Verfügung:

Mit dieser Funktion kann nun die folgende Abfrage ausgeführt werden:

Um nun jedoch noch die Anzahl einer Zeichenkette zu ermitteln, muss die Funktion erweitert werden. So muss die bereits ermittelte Differenz durch die Länge des Suchworts geteilt werden um die tatsächliche Anzahl der Treffer zu bekommen:

Auf StackOverflow habe ich diese Lösung für ein Problem beschrieben.

sebastianbrosch

Ich bin gelernter Fachinformatiker und konnte Erfahrungen in HTML, CSS, JavaScript, jQuery, PHP sowie VB.NET sammeln. In diesem Blog schreibe ich über meine Probleme und Erfahrungen sowie Aritkel aus dem Gebiet der Anwendungsentwicklung.

Das könnte Dich auch interessieren...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.