MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Wählen Sie alles vor oder nach einem bestimmten Zeichen in MariaDB aus

In MariaDB können Sie den SUBSTRING_INDEX() verwenden Funktion, um alles vor oder nach einem bestimmten Zeichen (oder Zeichen) in einer Zeichenfolge zurückzugeben.

Diese Funktion akzeptiert drei Argumente; die Zeichenfolge, das Trennzeichen und die Anzahl der Vorkommen dieses Trennzeichens, das zum Bestimmen der zurückzugebenden Teilzeichenfolge verwendet werden soll.

Beispiele

Wir können sehen, wie die Funktion in den folgenden Beispielen funktioniert.

Alles davor auswählen

Um alles vor einem bestimmten Zeichen auszuwählen, machen Sie das dritte Argument zu einem positiven Wert:

SELECT SUBSTRING_INDEX('Red,Green,Blue', ',', 2);

Ergebnis:

Red,Green

In diesem Beispiel wählen wir alles vor dem zweiten Komma aus. Dies geschieht durch Verwendung eines Kommas (, ) als Trennzeichen und 2 als Zählung.

Ich habe in diesem Beispiel ein Komma verwendet, aber es hätte ein beliebiges Zeichen oder eine Zeichenfolge sein können:

SELECT SUBSTRING_INDEX('Red or Green or Blue', ' or ', 2);

Ergebnis:

Red or Green

Alles danach auswählen

Verwenden Sie einen negativen Wert, um alles nach einem bestimmten Zeichen auszuwählen:

SELECT SUBSTRING_INDEX('Red,Green,Blue', ',', -2);

Ergebnis:

Green,Blue

Beachten Sie, dass der negative Wert bedeutet, dass von rechts eingezählt wird, und wählen Sie dann die Teilzeichenfolge rechts vom Trennzeichen aus.

Wenn das Trennzeichen nicht gefunden wird

Wenn das Trennzeichen nicht in der Zeichenfolge gefunden wird, wird die Zeichenfolge vollständig zurückgegeben.

Beispiel:

SELECT SUBSTRING_INDEX('Red,Green,Blue', '-', 1);

Ergebnis:

Red,Green,Blue

In diesem Fall wird die gesamte Zeichenfolge vollständig zurückgegeben, da wir einen Bindestrich verwendet haben (- ) als Trennzeichen, aber es gab keine Bindestriche in der Zeichenfolge.

Wir würden das gleiche Ergebnis erhalten, wenn die Zeichenfolge do enthalten das Trennzeichen, aber unseren count überschreitet die Anzahl der Trennzeichen in der Zeichenfolge.

Beispiel:

SELECT SUBSTRING_INDEX('Red,Green,Blue', ',', 10);

Ergebnis:

Red,Green,Blue

Groß- und Kleinschreibung

Der SUBSTRING_INDEX() -Funktion führt eine Suche nach dem Trennzeichen durch, bei der die Groß-/Kleinschreibung beachtet wird. Das heißt, das Trennzeichen muss der richtige Fall sein, bevor es passt.

Falsche Groß-/Kleinschreibung

Hier ist ein Beispiel, bei dem die Groß-/Kleinschreibung nicht übereinstimmt:

SELECT SUBSTRING_INDEX('Red and green and blue', 'AND', 2);

Ergebnis:

Red and green and blue

Wir bekommen den ganzen String vollständig.

Korrekter Fall

Hier ist das gleiche Beispiel, aber mit übereinstimmender Groß-/Kleinschreibung:

SELECT SUBSTRING_INDEX('Red and green and blue', 'and', 2);

Ergebnis:

Red and green