Wörter extrahieren und Vorkommen in MySQL-Strings zählen
Frage:
Sie suchen ein MySQL Abfrage ähnlich der folgenden:
select <second word in text> word, count(*) from table group by word;
Gibt es eine Syntax? Wie mc0e erwähnt, wird das direkte Extrahieren von Regex-Übereinstimmungen in der Standard-MySQL-Funktionalität nicht unterstützt eine Lösung zum Extrahieren eines bestimmten Worts in einer Zeichenfolge mithilfe einer Zeichenfolgenkombination Funktionen:
Verwendung:
Um das zweite Wort aus einer Zeichenfolge zu extrahieren, können Sie die folgende Abfrage verwenden:SUBSTRING( sentence, LOCATE(' ', sentence) + CHAR_LENGTH(' '), LOCATE(' ', sentence, ( LOCATE(' ', sentence) + 1 ) - ( LOCATE(' ', sentence) + CHAR_LENGTH(' ') ) )
Dadurch wird das Wort „IS“ als zurückgegeben Ausgabe.
Hinweis:
SELECT SUBSTRING( sentence, LOCATE(' ', sentence) + CHAR_LENGTH(' '), LOCATE(' ', sentence, ( LOCATE(' ', sentence) + 1 ) - ( LOCATE(' ', sentence) + CHAR_LENGTH(' ') ) ) as string FROM (SELECT 'THIS IS A TEST' AS sentence) temp
Wenn das Extrahieren von Regex-Übereinstimmungen ein wiederkehrender Bedarf ist, sollten Sie die Nachbearbeitung der Ergebnisse auf dem Client in Betracht ziehen oder eine MySQL-Erweiterung installieren, die die Regex-Extraktion unterstützt.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich das zweite Wort aus einem MySQL-String mithilfe von String-Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!