Der SQLite substr()
Mit der Funktion können Sie eine Teilzeichenfolge aus einer Zeichenfolge zurückgeben, basierend auf einer bestimmten Startposition innerhalb der Zeichenfolge.
Es erfordert zwei Argumente und akzeptiert ein drittes optionales Argument.
Aktualisieren :Ab SQLite 3.34.0 (veröffentlicht am 1. Dezember 2020), substr()
kann jetzt substring()
aufgerufen werden für die Kompatibilität mit SQL Server.
Syntax
Sie können substr()
aufrufen auf eine der folgenden Arten:
substr(X,Y,Z)
substr(X,Y)
substring(X,Y,Z)
substring(X,Y)
X
ist die vollständige Zeichenfolge, die die Teilzeichenfolge enthält, die Sie zurückgeben möchten.Y
ist die Position des ersten Zeichens der Teilzeichenfolge, die Sie von dieser Zeichenfolge zurückgeben möchten.Z
ist die Anzahl der Zeichen, die Sie zurückgeben möchten. Wenn weggelassen, werden alle nachfolgenden Zeichen zurückgegeben (beginnend mitY
).
Wenn X
eine Zeichenfolge ist, beziehen sich Zeichenindizes auf tatsächliche UTF-8-Zeichen. Wenn X
ein BLOB ist, beziehen sich die Indizes auf Bytes.
Beachten Sie, dass substring()
Syntax ist nur ab SQLite 3.34.0 verfügbar.
Beispiel mit 3 Argumenten
Hier ist ein einfaches Beispiel, um zu demonstrieren, wie man substr()
verwendet mit drei Argumenten.
SELECT substr('Industrial', 3, 4);
Ergebnis:
dust
Beispiel mit 2 Argumenten
Wenn ich das dritte Argument aus dem vorherigen Beispiel weglasse, erhalte ich das folgende Ergebnis.
SELECT substr('Industrial', 3);
Ergebnis:
dustrial
Negativer Ausgangspunkt
Sie können für das zweite Argument einen negativen Wert angeben. Wenn Sie dies tun, wird das erste Zeichen des Teilstrings gefunden, indem von rechts statt von links gezählt wird.
SELECT substr('Industrial', -3);
Ergebnis:
ial
Hier ist ein weiteres Beispiel, dieses Mal gebe ich die Länge des Teilstrings an.
SELECT substr('Industrial', -8, 4);
Ergebnis:
dust
Negative Werte haben also den gleichen Effekt wie bei Verwendung des substring()
Funktion in MySQL. MySQL hat auch ein substr()
Funktion, die ein Synonym ihres substring()
ist Funktion.
Dies unterscheidet sich jedoch davon, wie der SQL Server negative Werte behandelt. Wenn Sie einen negativen Wert an substring()
übergeben In SQL Server beginnt es einfach an einem imaginären Punkt zu zählen, bevor die Zeichenfolge beginnt.
Negative Teilstringlänge
Im vorherigen Beispiel wurde ein negativer Startpunkt verwendet. In diesem Beispiel verwende ich eine negative Länge. Damit meine ich, dass ich für das dritte Argument einen negativen Wert angeben werde.
SELECT substr('Industrial', -3, -4);
Ergebnis:
ustr
Wenn Sie also einen negativen Wert für das dritte Argument angeben, werden die Zeichen vor dem Startpunkt zurückgegeben.
Dies gilt auch, wenn das zweite Argument ein positiver Wert ist.
SELECT substr('Industrial', 7, -4);
Ergebnis:
dust
Datenbankbeispiel
Hier ist ein Beispiel, das substr()
verwendet in einer Datenbankabfrage gegen die Chinook-Beispieldatenbank.
SELECT substr(Title, 1, 20)
FROM Album
LIMIT 10;
Ergebnis:
substr(Title, 1, 20) -------------------- For Those About To R Balls to the Wall Restless and Wild Let There Be Rock Big Ones Jagged Little Pill Facelift Warner 25 Anos Plays Metallica By F Audioslave