Liste der Stringfunktionen

Mehr Funktionen als Datum und Uhrzeit – nur der String-Typ. Was in SQL durch die Typen CHAR(n) und VARCHAR(n) gegeben ist. Erinnern wir uns an die beliebtesten davon:

Funktion Beschreibung
1 LÄNGE(str) Gibt die Länge der übergebenen Zeichenfolge in Bytes zurück
2 CHAR_LENGTH(str) Gibt die Länge der übergebenen Zeichenfolge in Zeichen zurück
3 LOCATE(substr,str), Sucht nach einem Teilstring in einem String, ähnlich der Methode indexOf()
4 LOCATE(substr,str,pos) Sucht nach einem Teilstring in einem String, der bei pos beginnt
5 CONCAT(str1,str2,...) Verkettet mehrere Zeilen
6 SUBSTR(), SUBSTRING() Gibt eine Teilzeichenfolge zurück, die aus einem Bereich von Zeichen besteht
7 UNTERE(str) Konvertiert eine Zeichenfolge in Kleinbuchstaben
8 UPPER(str) Konvertiert eine Zeichenfolge in Großbuchstaben
9 ERSETZEN() Ersetzt einen Teilstring in einem String
10 PASSEN() Überprüft, ob eine Zeichenfolge mit einem bestimmten Muster übereinstimmt
elf TRIM(str) Schneidet leere Zeichen am Anfang und Ende einer Zeichenfolge ab
12 LTRIM(str) Schneidet leere Zeichen am Anfang einer Zeichenfolge ab
13 RTRIM(str) Schneidet leere Zeichen am Ende einer Zeichenfolge ab
14 TO_BASE64(str) Konvertiert einen String in Base64
15 FROM_BASE64(str) Konvertiert einen String von Base64

Ich habe die Funktionen bewusst in kleine Gruppen gruppiert, um das Verständnis für die Arbeit mit ihnen zu erleichtern. Im Folgenden betrachten wir eine Funktion aus jeder Gruppe. Eine vollständige Liste der Funktionen zum Arbeiten mit Strings finden Sie in der offiziellen Dokumentation .

Lassen Sie uns die Zeichenfolge konvertieren

Befassen wir uns zunächst mit den einfachsten Funktionen, die einen String einfach in eine etwas andere Form umwandeln. Konvertieren Sie beispielsweise eine Zeichenfolge in Groß- und Kleinschreibung. Im Allgemeinen ähnelt ihr Verhalten den gleichen Funktionen in der Java-Sprache.

Deshalb gebe ich nur eine Tabelle mit ein paar Beispielen.

# Anfrage Ergebnis
1 LÄNGE AUSWÄHLEN ('text') 4
2 LÄNGE AUSWÄHLEN („Hallo“) 12
3 SELECT LOWER („Hallo“) Hallo
4 SELECT UPPER („Hallo“) HALLO
5 SELECT SUBSTR ('Hallo', 2, 3) Fluss
6 SELECT SUBSTR („Hallo, wie geht es dir?“, 8) Wie geht es Ihnen?

Die Funktionen funktionieren wie erwartet, genau wie ihre Gegenstücke aus dem JDK.

Einziger Vorbehalt: In der ersten Zeile ist das Ergebnis 4, nicht 8. Die Sache ist, dass in der Anfrage 1 Byte (ASCII-Kodierung) zum Kodieren lateinischer Zeichen verwendet wird . Wenn Sie jedoch mit Daten aus der Datenbank arbeiten, hängt die Länge der Zeichenfolge von den Codierungseinstellungen der Datenbank ab . Bei der Arbeit mit der Datenbank werden Sie viele Überraschungen erleben :)

Komplexe Aktionen mit Strings

Schauen wir uns nun komplexere Dinge bei der Arbeit mit Strings an. Was würdest du dir einfallen lassen...

Lassen Sie uns Aufgaben aus der Aufgabentabelle anzeigen. Wenn die Aufgabenfrist bereits abgelaufen ist, fügen Sie der Aufgabenbeschreibung das Wort ABGELAUFEN hinzu!

Hört sich interessant an. Obwohl wir komplexe Bedingungen noch nicht gelernt haben, vereinfachen wir die Aufgabe ein wenig. Schreiben wir einfach eine Abfrage, die eine Liste vergangener Aufgaben anzeigt. Fügen Sie dem Titel jedoch unbedingt das Wort „ABGELAUFEN!“ hinzu. .

Dazu müssen wir die CONCAT-Funktion verwenden:

   SELECT CONCAT( 'EXPIRED! ', name) FROM task 
   WHERE deadline < CURDATE() 

Das Ergebnis dieser Abfrage wird sein:

concat('ABGELAUFEN! ', Name)
ABGELAUFEN! Beheben Sie einen Fehler im Frontend

Empfehlung. Wenn Sie die Daten lediglich in eine etwas andere Form konvertieren müssen, kann dies auch auf Java-Codeebene erfolgen. Wenn Sie jedoch SQL-serverseitige String-Funktionen (innerhalb von WHERE) verwenden möchten, können Sie darauf definitiv nicht verzichten.