Eine Datenbankfunktion ist ein Modul mit einer bestimmten Funktion, das null oder mehr Eingabewerte empfangen und einen Ausgabewert zurückgeben kann. MySQL stellt uns viele Systemfunktionen zum Verarbeiten und Analysieren von Daten zur Verfügung. In diesem Artikel werden zehn häufig verwendete Zeichenfolgenfunktionen sowie andere verwandte Funktionen vorgestellt. Die Funktion
CONCAT()
CONCAT(str1,str2,…)) wird verwendet, um eine Zeichenfolge nach der Verkettung mehrerer Zeichenfolgen zurückzugeben, zum Beispiel:
SELECT CONCAT('MySQL', '字符串', '函数') AS str;
Wenn ein Parameter in dieser Funktion NULL ist, ist das Rückgabeergebnis NULL. Zum Beispiel:
SELECT CONCAT('MySQL', NULL, '函数') AS str;
Für String-Konstanten können wir sie auch direkt zusammenschreiben. Zum Beispiel:
SELECT 'MySQL' '字符串' '函数' AS str;
Die obige Methode kann nur zum Verbinden von Zeichenfolgenkonstanten und nicht zum Verbinden von Feldwerten verwendet werden.
Wenn der SQL-Modus PIPES_AS_CONCAT aktiviert ist, kann der logische ODER-Operator von MySQL (||) auch zum Verketten von Zeichenfolgen verwendet werden, ähnlich wie bei Oracle und PostgreSQL.
Zusätzlich zur Funktion CONCAT(str1,str2,…)) bedeutet die Funktion CONCAT_WS(separator,str1,str2,…)), das angegebene Trennzeichen zum Verbinden mehrerer Zeichenfolgen zu verwenden und NULL zurückzugeben, wenn das Trennzeichen NULL ist . Zum Beispiel:
SELECT CONCAT_WS('-', 'MySQL', NULL, '字符串') AS str1,
LOWER()
LOWER(str)- und LCASE(str)-Funktionen werden verwendet, um Zeichenfolgen in Kleinbuchstaben umzuwandeln, zum Beispiel:
SELECT LOWER('MySQL字符串函数') AS str1, LCASE('MySQL字符串函数') AS str2;
MySQL-Fallkonvertierungsfunktionen unterstützen keine binären Zeichenfolgen (BINARY, VARBINARY, BLOB). )), der in einen nicht-binären String umgewandelt und dann verarbeitet werden kann. Zum Beispiel: Die Funktionen
SELECT LOWER(BINARY 'MySQL字符串函数') AS str1,
UPPER()
UPPER(str) und UCASE(str) werden verwendet, um Zeichenfolgen in Großbuchstaben umzuwandeln, zum Beispiel:
SELECT UPPER('MySQL字符串函数') AS str1, UCASE('MySQL字符串函数') AS str2;
LENGTH()
LENGTH(str) und OCTET_LENGTH(str) Funktionen werden verwendet, um die Bytelänge einer Zeichenfolge zurückzugeben, zum Beispiel:
SELECT LENGTH('MySQL字符串函数') AS len1, OCTET_LENGTH('MySQL字符串函数') AS len2;
Bei der utf8mb4-Kodierung belegt ein chinesisches Zeichen 3 Bytes.
Zusätzlich werden die Funktionen CHAR_LENGTH(str) und CHARACTER_LENGTH(str) verwendet, um die Zeichenlänge der Zeichenfolge zurückzugeben, also die Anzahl der Zeichen. Zum Beispiel: Die Funktion
SELECT CHAR_LENGTH('MySQL字符串函数') AS len1, CHARACTER_LENGTH('MySQL字符串函数') AS len2;
BIT_LENGTH(str) wird verwendet, um die Bitlänge (Anzahl der Bits) einer Zeichenfolge zurückzugeben, zum Beispiel:
SELECT BIT_LENGTH('MySQL字符串函数') AS len;
Ein Byte enthält 8 Bits.
SUBSTRING()
SUBSTRING(str,pos), SUBSTRING(str FROM pos), SUBSTRING(str,pos,len) und SUBSTRING(str FROM pos FOR len) können alle verwendet werden, um die Daten ab dem zurückzugeben Angegebene Position pos Teilzeichenfolge, len bedeutet, dass die Länge der Teilzeichenfolge zurückgegeben wird; pos ist 0 bedeutet, dass eine leere Zeichenfolge zurückgegeben wird. Beispiel:
SELECT SUBSTRING('MySQL字符串函数', 6) AS str1,
Der Positionsparameter pos kann eine negative Zahl sein. In diesem Fall beginnt die zurückgegebene Teilzeichenfolge mit dem Zeichen pos auf der rechten Seite der Zeichenfolge. Zum Beispiel:
SELECT SUBSTRING('MySQL字符串函数', -2) AS str1,
Darüber hinaus sind die Funktionen SUBSTR() und MID() Synonyme der Funktion SUBSTRING() und unterstützen auch die oben genannten 4 Formen. Die Funktion
LEFT(str,len) gibt die len-Zeichen auf der linken Seite der Zeichenfolge str zurück, und die Funktion RIGHT(str,len) gibt die len-Zeichen auf der rechten Seite der Zeichenfolge str zurück. Beispiel: Die Funktion
SELECT LEFT('MySQL字符串函数',5) AS str1,
SUBSTRING_INDEX(str,delim,count) gibt die Teilzeichenfolge vor dem Zählungstrennzeichen delim zurück. Wenn count positiv ist, zählen Sie von links und geben Sie alle Zeichen auf der linken Seite zurück. Wenn count negativ ist, zählen Sie von rechts und geben Sie alle Zeichen auf der rechten Seite zurück. Zum Beispiel: Die Funktion
SELECT SUBSTRING_INDEX('张三;李四;王五', ';', 2) AS str1,[object Object]
TRIM()
TRIM([remstr FROM] str) wird verwendet, um die Teilzeichenfolge zurückzugeben, nachdem alle remstr-Zeichenfolgen auf beiden Seiten der Zeichenfolge gelöscht wurden. Remstr verwendet standardmäßig Leerzeichen. Zum Beispiel: Die Funktion
SELECT TRIM(' MySQL字符串函数 ') AS str1,
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str) wird verwendet, um den Teilstring zurückzugeben, nachdem alle remstr-Strings auf beiden Seiten/links/rechts vom String str gelöscht wurden , beide werden gelöscht Seitenzeichenfolge (BEIDE), remstr ist standardmäßig Leerzeichen. Zum Beispiel:
SELECT TRIM(LEADING ' ' FROM ' MySQL字符串函数 ') AS str1,
LPAD()/RPAD()
LPAD(str,len,padstr) Funktion bedeutet, dass die linke Seite der Zeichenfolge str mit padstr aufgefüllt wird, bis die Länge len ist; )-Funktion bedeutet, dass Padstr auf der rechten Seite der Zeichenfolge str aufgefüllt wird, bis die Länge len beträgt. Zum Beispiel:
SELECT LPAD(123, 6, '0') AS str1, LPAD(123, 2, '0') AS str2,
Wenn die Länge der Zeichenfolge str größer als len ist, entspricht dies dem Abschneiden der Zeichenfolge auf der rechten Seite.
Darüber hinaus wird die Funktion REPEAT(str,count) verwendet, um die Zeichenfolge str count mal zu kopieren und das Ergebnis zurückzugeben.
Zum Beispiel:
INSTR()
INSTR (str,substr) Die Funktion wird verwendet, um die Indexposition des ersten Vorkommens der Teilzeichenfolge substr in der Zeichenfolge str zurückzugeben. Wenn die Teilzeichenfolge nicht gefunden wird, ist sie 0 wird zurückgegeben. Zum Beispiel:
select INSTR('MySQL字符串函数', '字符串') AS index1,
Darüber hinaus kann die Funktion LOCATE (substr,str) auch verwendet werden, um die Indexposition des ersten Vorkommens des Teilstrings substr im String str zurückzugeben. Der einzige Unterschied zum INSTR (str,substr). Funktion ist dagegen die Reihenfolge der Parameter. Die Funktion
LOCATE (substr,str,pos) gibt die Indexposition des ersten Vorkommens des Teilstrings substr im String str ab Position pos zurück, zum Beispiel:
SELECT LOCATE('S','MySQL Server', 5) AS ind;
FIELD (str,str1,str2,str3,…)-Funktion Gibt die Position zurück, an der die Zeichenfolge str in der nachfolgenden Zeichenfolgenliste erscheint, oder gibt 0 zurück, wenn sie nicht gefunden wird. Beispiel:
SELECT FIELD('李四', '张三', '李四', '王五') AS ind;
FIND_IN_SET (str,strlist) Die Funktion gibt die Position zurück, an der die Zeichenfolge str in der Liste erscheint. Zeichenfolge strlist strlist besteht aus N durch Kommas getrennten Teilzeichenfolgen. Zum Beispiel: Die Funktion
SELECT FIND_IN_SET('李四', '张三,李四,王五') AS ind;
REPLACE()
REPLACE (str,from_str,to_str) wird verwendet, um alle from_str in der Zeichenfolge str durch to_str zu ersetzen und die ersetzte Zeichenfolge zurückzugeben. Zum Beispiel:
SELECT REPLACE('MySQL字符串函数', '字符串', '日期') AS str1,
另外,INSERT (str,pos,len,newstr) 函数用于在字符串 str 的指定位置 pos 之后插入子串 newstr,替换随后的 len 个字符。例如:
SELECT INSERT('MySQL字符串函数', 6, 3, '日期') AS str;
REVERSE()
REVERSE (str) 函数用于将字符串 str 中的字符顺序进行反转。例如:
SELECT REVERSE('上海自来水来自海上')='上海自来水来自海上' AS "回文";
推荐学习:《mysql视频教程》
Das obige ist der detaillierte Inhalt vonFassen Sie die häufig verwendeten String-Funktionen in MySQL zusammen!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!