Arbeiten mit Strings
ASCII(str Zeichenkette)
BIN(int Ganzzahl)
CHAR(int Ganzzahl, ...)
CHARACTER_LENGTH(str Zeichenkette)
CHAR_LENGTH(str Zeichenkette)
CONCAT(str1 Zeichenkette, str2 Zeichenkette,...)
CONCAT_WS(separator Zeichenkette, str1 Zeichenkette, str2 Zeichenkette,...)
CONV(int_or_str Ganzzahl oder Zeichenkette, from_base Ganzzahl, to_base Ganzzahl)
ELT( N Ganzzahl, str1 Zeichenkette, str2 Zeichenkette, str3 Zeichenkette,...)
EXPORT_SET( bits, on Zeichenkette , off Zeichenkette, [separator Zeichen, [number_of_bits Ganzzahl]])
FIELD( str Zeichenkette, str1 Zeichenkette, str2 Zeichenkette, str3 Zeichenkette,...)
FIND_IN_SET( str Zeichenkette, strlist Zeichenkette)
HEX(int_or_str Zeichenkette oder Ganzzahl)
INSERT( str Zeichenkette, pos Ganzzahl, len Ganzzahl, newstr Zeichenkette)
INSTR( str Zeichenkette, substr Zeichenkette)
LCASE( str Zeichenkette ) Zeichenkette
LEFT( str Zeichenkette, len Ganzzahl)
LENGTH(str Zeichenkette)
LOAD_FILE( file_name Zeichenkette )
LOCATE(substr Zeichenkette, str Zeichenkette, pos Ganzzahl)
LOWER( str Zeichenkette )
LPAD( str Zeichenkette, len Ganzzahl, padstr Zeichenkette)
LTRIM( str Zeichenkette)
MAKE_SET( bits, str1 Zeichenkette, str2 Zeichenkette,...)
MID(str Zeichenkette, pos Ganzzahl, len Ganzzahl)
OCT(int Ganzzahl)
OCTET_LENGTH(str Zeichenkette)
LOCATE(substr Zeichenkette, str Zeichenkette)
ORD(str Zeichenkette)
POSITION(substr Zeichenkette IN str Zeichenkette)
REPLACE( str Zeichenkette, from_str Zeichenkette, to_str Zeichenkette)
REPEAT( str Zeichenkette, count Ganzzahl)
REVERSE( str Zeichenkette)
RIGHT( str Zeichenkette, len Ganzzahl)
RPAD( str Zeichenkette, len Ganzzahl, padstr Zeichenkette)
RTRIM( str Zeichenkette)
SOUNDEX( str Zeichenkette)
SPACE( N Ganzzahl )
SUBSTRING(str Zeichenkette FROM pos Ganzzahl FOR len Ganzzahl)
SUBSTRING_INDEX( str Zeichenkette, delim Zeichenkette, count Ganzzahl)
TRIM( [[BOTH | LEADING | TRAILING] [remstr] Zeichenkette FROM] str Zeichenkette)
UCASE( str Zeichenkette)
UPPER( str Zeichenkette)
Jede Zeichenkettenfunktion gibt NULL zurück, wenn die Länge der Ergebniszeichenkette den mit dem Serverparameter max_allowed_packet festgelegten Wert überschreitet.
Gibt den ASCII-Code des ersten linken Zeichens der Zeichenkette str zurück. Gibt 0 zurück, wenn die Zeichenkette str leer ist. Gibt NULL zurück, wenn die Zeichenkette str nicht existiert.
Beispiele:
mysql> select ASCII('2');
-> 50
mysql> select ASCII(2);
-> 50
mysql> select ASCII('dx');
-> 100
Siehe auch ORD().
Falls das erste linke Zeichen der Zeichenkette str ein Multibyte-Zeichen ist, wird sein Code im Format zurückgegeben: ((erster Byte ASCII-Code)*256+(zweiter Byte ASCII-Code))[*256+dritter Byte ASCII-Code...].
Ist das erste linke Zeichen der Zeichenkette str kein Multibyte-Zeichen, so ist die Funktionsweise analog zu der der Funktion ASCII() – es wird der ASCII-Code des ersten linken Zeichens der Zeichenkette str zurückgegeben.
Beispiele:
mysql> select ORD('2');
-> 50
Siehe auch ASCII().
string CONV(int_or_str integer or string, from_base integer, to_base integer)
Eine leistungsstarke Funktion zum Konvertieren einer Zahl (int_or_str ) von einem Zahlensystem (from_base) in ein anderes (to_base). Gibt NULL zurück, wenn die Argumente NULL sind. Der Mindestwert für .._base ist 2, der Höchstwert 36.
Beispiele:
mysql> select CONV("a",16,2);
-> '1010'
mysql> select CONV("6E",18,8);
-> '172'
mysql> select CONV(-17,10,-18);
-> '-H'
mysql> select CONV(10+"10"+'10'+0xa,10,10);
-> '40'
Siehe auch BIN(), OCT(), HEX().
Gibt den binären Wert des Arguments int zurück. Analog zur Wirkung von CONV(int,10,2). Gibt NULL zurück, wenn das Argument int NULL ist.
Beispiele:
mysql> select BIN(12);
-> '1100'
Siehe auch CONV().
Gibt den oktalen Wert des Arguments int zurück. Analog zur Wirkung von CONV(int,10,8). Gibt NULL zurück, wenn das Argument int NULL ist.
Beispiele:
mysql> select OCT(12);
-> '14'
Siehe auch CONV().
string HEX(int_or_str string or integer)
Gibt den hexadezimalen Wert des Arguments int_or_string zurück. Analog zur Wirkung von CONV(int,10,16). Gibt NULL zurück, wenn das Argument int_or_string NULL ist.
Beispiele:
mysql> select HEX(255);
-> 'FF'
mysql> select HEX("abc");
-> 616263
mysql> select 0x616263;
-> "abc"
Siehe auch CONV().
Gibt eine Zeichenkette zurück, die durch den/die ASCII-Code(s) definiert ist/sind. Der Wert NULL wird übersprungen.
Beispiele:
mysql> select CHAR(77,121,83,81,'76');
-> 'MySQL'
mysql> select CHAR(77,77.3,'77.3');
-> 'MMM'
string CONCAT(str1 string, str2 string,...)
Verknüpft Zeichenketten. Das Ergebnis ist eine Zeichenkette, die aus den Argumenten besteht. Gibt NULL zurück, wenn eines der Argumente NULL ist. Es können mehr als 2 Argumente vorhanden sein. Numerische Argumente werden in die entsprechenden Zeichenketten konvertiert.
Beispiele:
mysql> select CONCAT('My', 'S', 'QL');
-> 'MySQL'
mysql> select CONCAT('My', NULL, 'QL');
-> NULL
mysql> select CONCAT(14.3);
-> '14.3'
Siehe auch CONCAT_WS().
string CONCAT_WS(separator string, str1 string, str2 string,...)
Verknüpft Zeichenketten ähnlich der Funktion CONCAT(), jedoch mit einem Trennzeichen separator, das zwischen den Argument-Zeichenketten eingefügt wird. Wenn separator NULL ist, ist das Ergebnis NULL. Die Funktion überspringt andere Argumente, wenn ihr Wert NULL ist.
Beispiele:
mysql> select CONCAT_WS(",","First name","Second name","Last Name");
-> 'First name,Second name,Last Name'
mysql> select CONCAT_WS(",","First name",NULL,"Last Name");
-> 'First name,Last Name'
Siehe auch CONCAT().
Die Funktion gibt die Länge der Zeichenkette str zurück.
Beispiele:
mysql> select LENGTH('text');
-> 4
Hinweis: Mehrbyte-Zeichen werden von der Funktion CHAR_LENGTH() berücksichtigt.
Siehe auch OCTET_LENGTH(), CHAR_LENGTH(), CHARACTER_LENGTH().
integer OCTET_LENGTH(str string)
Die Funktion gibt die Länge der Zeichenkette str zurück.
Beispiele:
mysql> select OCTET_LENGTH('text');
-> 4
Hinweis: Mehrbyte-Zeichen werden von der Funktion CHAR_LENGTH() berücksichtigt.
Siehe auch LENGTH(), CHAR_LENGTH(), CHARACTER_LENGTH().
integer CHAR_LENGTH(str string)
Die Funktion gibt die Länge der Zeichenkette str zurück. Unterstützt Mehrbyte-Zeichen.
Beispiele:
mysql> select CHAR_LENGTH('text');
-> 4
Siehe auch LENGTH(), OCTET_LENGTH(), CHARACTER_LENGTH().
integer CHARACTER_LENGTH(str string)
Die Funktion gibt die Länge der Zeichenkette str zurück.
Beispiele:
mysql> select CHARACTER_LENGTH('text');
-> 4
Hinweis: Mehrbyte-Zeichen werden von der Funktion CHAR_LENGTH() berücksichtigt.
Siehe auch LENGTH(), OCTET_LENGTH(), CHAR_LENGTH().
integer POSITION(substr string IN str string)
Gibt die Position des ersten Vorkommens der Teilzeichenkette substr in der Zeichenkette str zurück. Gibt 0 zurück, wenn substr nicht in der Zeichenkette str gefunden wird. Unterstützt Mehrbyte-Zeichen.
Beispiele:
mysql> select POSITION('bar', 'foobarbar');
-> 4
mysql> select POSITION('xbar', 'foobar');
-> 0
Siehe auch INSTR().
integer LOCATE(substr string, str string, pos integer)
LOCATE(substr string, str string) gibt die Position des ersten Vorkommens der Teilzeichenkette substr in der Zeichenkette str zurück. Gibt 0 zurück, wenn substr nicht in str gefunden wird. LOCATE(substr string, str string, pos integer) gibt die Position des ersten Vorkommens der Teilzeichenkette substr in der Zeichenkette str ab der Position pos zurück. Gibt 0 zurück, wenn substr nicht in str gefunden wird (unter Berücksichtigung der Startposition). Unterstützt Multibyte-Zeichen.
Beispiele:
mysql> select LOCATE('bar', 'foobarbar',5);
-> 7
mysql> select LOCATE('bar', 'foobarbar');
-> 4
mysql> select LOCATE('xbar', 'foobar');
-> 0
Siehe auch INSTR(), POSITION().
integer INSTR( str string, substr string)
Gibt die Position des ersten Vorkommens der Teilzeichenkette substr in der Zeichenkette str zurück. Gibt 0 zurück, wenn substr nicht in str gefunden wird (unter Berücksichtigung der Position, natürlich). Unterstützt Multibyte-Zeichen. Analog zu LOCATE(), nur sind die Argumente vertauscht.
Beispiele:
mysql> select INSTR('foobarbar', 'bar');
-> 4
mysql> select INSTR('xbar', 'foobar');
-> 0
Siehe auch LOCATE(), POSITION().
string LPAD( str string, len integer, padstr string)
Gibt die Zeichenkette str zurück, wobei am Anfang von str die Zeichenkette padstr hinzugefügt und die Gesamtanzahl der Zeichen in der zurückgegebenen Zeichenkette auf len gebracht wird. Wenn len größer ist als die Summe der Längen der Zeichenketten, wird die Differenz durch Wiederholung der Zeichenkette padstr aufgefüllt.
Beispiele:
mysql> select LPAD('hi',4,'??');
-> '??hi'
Siehe auch RPAD().
string RPAD( str string, len integer, padstr string)
Gibt die Zeichenkette str zurück, wobei am Ende von str die Zeichenkette padstr hinzugefügt und die Gesamtanzahl der Zeichen in der zurückgegebenen Zeichenkette auf len gebracht wird. Wenn len größer ist als die Summe der Längen der Zeichenketten, wird die Differenz durch Wiederholung der Zeichenkette padstr aufgefüllt.
Beispiele:
mysql> select RPAD('hi',5,'?');
-> 'hi???'
Siehe auch LPAD().
string LEFT( str string, len integer)
Gibt die ersten len Zeichen aus der Zeichenkette str zurück. Unterstützt Multibyte-Zeichen.
Beispiele:
mysql> select LEFT('foobarbar', 5);
-> 'fooba'
Siehe auch RIGHT(), SUBSTRING(), MID(), SUBSTRING_INDEX()
string RIGHT( str string, len integer)
Gibt die letzten len Zeichen aus der Zeichenkette str zurück. Unterstützt Multibyte-Zeichen.
Beispiele:
mysql> select RIGHT('foobarbar', 4);
-> 'rbar'
Siehe auch LEFT(), SUBSTRING(), MID(), SUBSTRING_INDEX().
string SUBSTRING( str string, pos integer, len integer )
string SUBSTRING(str string FROM pos integer FOR len integer)
Gibt eine Teilzeichenkette der Zeichenkette str mit der Länge len Zeichen ab der Position pos zurück. Unterstützt Multibyte-Zeichen. Die Variante mit „FROM“ wird in der ANSI-SQL92-Syntax verwendet. In der Funktion SUBSTRING() wird, wenn das Argument len nicht angegeben ist, die gesamte Teilzeichenkette der Zeichenkette str ab der Position pos zurückgegeben.
Beispiele:
mysql> select SUBSTRING('Quadratically',5,6);
-> 'ratica'
mysql> select SUBSTRING('Quadratically',5);
-> 'ratically'
mysql> select SUBSTRING('foobarbar' FROM 4);
-> 'barbar'
Siehe auch LEFT(), RIGHT(), SUBSTRING_INDEX().
string MID(str string, pos integer, len integer)
Gibt eine Teilzeichenkette der Zeichenkette str mit der Länge len Zeichen ab der Position pos zurück. Unterstützt Multibyte-Zeichen. Die Variante mit „FROM“ wird in der ANSI-SQL92-Syntax verwendet. In der Funktion SUBSTRING() wird, wenn das Argument len nicht angegeben ist, die gesamte Teilzeichenkette der Zeichenkette str ab der Position pos zurückgegeben.
Beispiele:
mysql> select MID('Quadratically',5,6);
-> 'ratica'
mysql> select MID('Quadratically',5);
-> 'ratically'
mysql> select MID('foobarbar' FROM 4);
-> 'barbar'
Siehe auch LEFT(), RIGHT(), SUBSTRING_INDEX().
string SUBSTRING_INDEX( str string, delim string, count integer)
Gibt die gesamte Teilzeichenkette der Zeichenkette str zurück, beginnend an der Position, die durch den Trennzeichen delim an der Stelle count bestimmt wird.
Beispiele:
mysql> select SUBSTRING_INDEX('www.mysql.com', '.', 2);
-> 'www.mysql'
mysql> select SUBSTRING_INDEX('www.mysql.com', '.', -2);
-> 'mysql.com'
Siehe auch LEFT(), SUBSTRING(), MID(), RIGHT().
Gibt die Zeichenkette str zurück, wobei Leerzeichen am Anfang der Zeichenkette entfernt werden. Unterstützt Multibyte-Zeichen.
Beispiele:
mysql> select LTRIM(' barbar');
-> 'barbar'
Gibt die Zeichenkette str zurück, wobei Leerzeichen am Ende der Zeichenkette entfernt werden. Unterstützt Multibyte-Zeichen.
Beispiele:
mysql> select RTRIM('barbar ');
-> 'barbar'
string TRIM( [[BOTH | LEADING | TRAILING] [remstr] string FROM] str string )
Mit einem Argument „str“ – gibt die Zeichenkette str zurück, wobei Leerzeichen am Ende der Zeichenkette entfernt werden. Das Argument „remstr“ bestimmt das zu entfernende Zeichen/die zu entfernende Teilzeichenkette. Unterstützt Multibyte-Zeichen. mysql> select TRIM(' bar '); -> 'bar'
Beispiele:
mysql> select TRIM(' bar ');
-> 'bar'
mysql> select TRIM(LEADING 'x' FROM 'xxxbarxxx');
-> 'barxxx'
mysql> select TRIM(BOTH 'x' FROM 'xxxbarxxx');
-> 'bar'
mysql> select TRIM(TRAILING 'xyz' FROM 'barxxyz');
-> 'barx'
Berechnet den Soundex-Schlüssel für str. Der Soundex-Schlüssel hat die Eigenschaft, dass Wörter, die gleich ausgesprochen werden, denselben Soundex-Schlüssel haben, und dies kann zur Korrektur von Suchergebnissen verwendet werden. Gibt eine Zeichenkette mit einer Länge von 4 Zeichen zurück, die mit einem Buchstaben von A-Z beginnt.
Beispiele:
mysql> select SOUNDEX('Hello');
-> 'H400'
mysql> select SOUNDEX('Quadratically');
-> 'Q36324'
Gibt eine Zeichenkette zurück, die aus N Leerzeichen besteht.
Beispiele:
mysql> select SPACE(6);
-> ' '
Siehe auch REPEAT().
string REPLACE( str string, from_str string, to_str string)
Gibt die Zeichenkette str zurück, wobei alle Vorkommen von from_str durch to_str ersetzt werden. Unterstützt Multibyte-Zeichen.
Beispiele:
mysql> select REPLACE('www.websupport.maryan.com.ua', 'w', 'Ww');
-> 'WwWwWw.Wwebsupport.maryan.com.ua'
string REPEAT( str string, count integer)
Gibt eine Zeichenkette zurück, die aus der Zeichenkette str besteht, die count-mal wiederholt wurde. Gibt NULL zurück, wenn eines der Argumente NULL ist.
Beispiele:
mysql> select REPEAT('MySQL', 3);
-> 'MySQLMySQLMySQL'
Siehe auch SPACE().
Gibt eine Zeichenkette zurück, in der alle Zeichen in umgekehrter Reihenfolge (vom letzten zum ersten) stehen. Siehe Beispiel. Unterstützt Multibyte-Zeichen.
Beispiele:
mysql> select REVERSE('abc');
-> 'cba'
string INSERT( str string, pos integer, len integer, newstr string )
Gibt die Zeichenkette str zurück, wobei ab der Position pos in str die Zeichenkette newstr mit der Länge len Zeichen eingefügt wird. Unterstützt Multibyte-Zeichen.
Beispiele:
mysql> select INSERT('Quadratic', 3, 4, 'What');
-> 'QuWhattic'
string ELT( N integer, str1 string, str2 string, str3 string,...)
Gibt str1 zurück, wenn N = 1, str2 wenn N = 2, und so weiter. Gibt NULL zurück, wenn N kleiner als 1 oder größer als die Anzahl der Argumente ist.
Beispiele:
mysql> select ELT(1, 'ej', 'Heja', 'hej', 'foo');
-> 'ej'
mysql> select ELT(4, 'ej', 'Heja', 'hej', 'foo');
-> 'foo'
Siehe auch FIELD().
integer FIELD( str string, str1 string, str2 string, str3 string,...)
Gibt den Index (die Position) von str in der Liste der Zeichenketten str1, str2, str3, ... zurück. Gibt 0 zurück, wenn str nicht in der Liste gefunden wird.
Beispiele:
mysql> select FIELD('ej', 'Hej', 'ej', 'Heja', 'hej', 'foo');
-> 2
mysql> select FIELD('fo', 'Hej', 'ej', 'Heja', 'hej', 'foo');
-> 0
Siehe auch ELT().
integer FIND_IN_SET( str string, strlist string )
Gibt einen Wert von 1 bis ... zurück, abhängig von der Position der Zeichenkette str innerhalb der Zeichenketten (Teilzeichenketten) in der Zeichenkette strlist. Die Zeichenketten (Teilzeichenketten) in strlist sind durch "," getrennt. Gibt 0 zurück, wenn str nicht in den Zeichenketten in strlist gefunden wird. Gibt NULL zurück, wenn eines der Argumente NULL ist.
Beispiele:
mysql> SELECT FIND_IN_SET('b','a,b,c,d');
-> 2
Siehe auch MAKE_SET().
string MAKE_SET( bits, str1 string , str2 string ,...)
Gibt eine der Argument-Zeichenketten zurück, abhängig vom bitweisen Zustand von bits. str1 wird zurückgegeben, wenn Bit 0 gesetzt ist, str2 wenn Bit 1 gesetzt ist, und so weiter.
Beispiele:
mysql> SELECT MAKE_SET(1,'a','b','c');
-> 'a'
mysql> SELECT MAKE_SET(1 | 4,'hello','nice','world');
-> 'hello,world'
mysql> SELECT MAKE_SET(0,'a','b','c');
-> ''
Siehe auch ELT(), FIND_IN_SET().
string EXPORT_SET( bits, on string , off string, [separator char, [number_of_bits integer]])
Gibt eine Zeichenkette zurück, in der für jedes Bit der Zustand on oder off ausgegeben wird. Die Zustände werden durch separator getrennt.
Beispiele:
mysql> select EXPORT_SET(5,'Y','N',',',4)
-> Y,N,Y,N
string LCASE( str string ) string
Gibt die Zeichenkette str zurück, wobei alle Großbuchstaben in Kleinbuchstaben umgewandelt werden. Unterstützt Multibyte-Zeichen. (Standardmäßig ISO-8859-1 Latin1).
Beispiele:
mysql> select LCASE('QUADRATICALLY');
-> 'quadratically'
Siehe auch UCASE(), UPPER(), LCASE(), LOWER().
Gibt die Zeichenkette str zurück, wobei alle Großbuchstaben in Kleinbuchstaben umgewandelt werden. Unterstützt Multibyte-Zeichen. (Standardmäßig ISO-8859-1 Latin1).
Beispiele:
mysql> select LOWER('QUADRATICALLY');
-> 'quadratically'
Siehe auch UCASE(), UPPER(), LCASE(), LOWER().
Gibt die Zeichenkette str zurück, wobei alle Kleinbuchstaben in Großbuchstaben umgewandelt werden. Unterstützt Multibyte-Zeichen. (Standardmäßig ISO-8859-1 Latin1).
Beispiele:
mysql> select UCASE('Hej');
-> 'HEJ'
Siehe auch UCASE(), UPPER(), LCASE(), LOWER().
Gibt die Zeichenkette str zurück, wobei alle Kleinbuchstaben in Großbuchstaben umgewandelt werden. Unterstützt Multibyte-Zeichen. (Standardmäßig ISO-8859-1 Latin1).
Beispiele:
mysql> select UPPER('Hej');
-> 'HEJ'
Siehe auch UCASE(), UPPER(), LCASE(), LOWER().
string LOAD_FILE( file_name string )
Liest eine Datei und gibt deren Inhalt als Zeichenkette zurück. file_name ist der vollständige Pfad zur Datei auf dem Server. Es muss sichergestellt sein, dass die Datei physisch vorhanden ist und das Skript die entsprechenden Zugriffsrechte besitzt. Die Datei darf nicht größer sein als der Wert des Parameters max_allowed_packet. Bei Problemen (z. B. fehlende Datei) wird NULL zurückgegeben.
