0 0 Stimmen

MySQL: Erstes Wort einer Spalte auslesen

Frage von Gast | 13.05.2012 um 16:21 Uhr

Ich suche eine MySQL Abfrage oder eine Funktion, die mir immer das erste Wort eines Feldes für eine Spalte ausliest.

Steht also z.B. "Manny kommt aus Europa" in dem Feld, soll "Manny" ausgegeben werden. PHP möchte ich, wenn es geht, nicht benutzen.

AntwortenPositivNegativ

Stefan Trost

Profil anzeigen | Nachricht
Avatar
2Beste Antwort
2 Stimmen

Was du suchst, ist die MySQL Funktion SUBSTRING_INDEX(), die auf folgende Weise verwendet werden kann:

SELECT SUBSTRING_INDEX(spalte,' ',1) FROM tab WHERE ...

Die Funktion erwartet 3 Parameter:

  • Einen String oder den Namen einer Spalte (hier "spalte"), die ausgelesen werden soll.
  • Das Zeichen, an dem der String abgeschnitten werden soll. Da du das erste Wort suchst, ist dieses Zeichen ein Leerzeichen ' '.
  • Die Anzahl der Vorkommnisse des Zeichens. Da du am ersten Wort abschneiden willst, trennen wir am ersten Auftreten von ' ' und schreiben hier eine 1 hin. Willst du die ersten zwei Worte auslesen, müsstest du hier 2 hinschreiben, da am zweiten Auftreten von ' ' getrennt werden müsste.

Das Beispiel liest die Zeichen links ab der Stelle des Leerzeichens aus. Willst du die Zeichen auslesen, die rechts neben dem Leerzeichen stehen, musst du die Zahl negativ machen.
15.05.2012 um 15:22 Uhr

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.