Die Funktionen zum Ermitteln der Länge von MySQL sind die Funktion length() und die Funktion char_length(); die Funktion length() kann die Länge einer Zeichenfolge in Bytes zurückgeben, und die Funktion char_length() kann eine Zeichenfolge in Zeichen zurückgeben . Länge.
Sowohl die Funktion char_length als auch die Funktion length in MySQL können die Länge der Zeichenfolge zurückgeben
mysql> select length('MySQL'), char_length('MySQL'); +-----------------+----------------------+ | length('MySQL') | char_length('MySQL') | +-----------------+----------------------+ | 5 | 5 | +-----------------+----------------------+ 1 row in set (0.01 sec)
Die Funktionen der beiden Funktionen:
LENGTH() gibt die Länge der Zeichenfolge in Bytes zurück .
CHAR_LENGTH() Gibt die Länge einer Zeichenfolge in Zeichen zurück.
Nach dem obigen Beispiel zu urteilen, hat „MySQL“ insgesamt 5 Zeichen, und jedes Zeichen sollte 1 Byte belegen.
Aber Chinesisch ist anders, im Allgemeinen belegt ein chinesisches Zeichen 2-3 Bytes. Zum Beispiel:
GBK-Zeichensatzkodierung:
select char_length(‘中国’); // 2个字符 select length(‘中国’); // 4个字节,一个汉字2个字节 select bit_length(‘中国’); // 32位。4*8 = 32
UTF8-Zeichensatzkodierung:
select char_length(‘中国’);// 2个字符 select length(‘中国’); // 6个字节,一个汉字3个字节 select bit_length(‘中国’); // 48位。6*8 = 48
Zusammenfassung
char_length(str)
Die Längeneinheit sind Zeichen, und ein Multibyte-Zeichen wird als gezählt Ein einzelnes Zeichen
, egal ob es sich um chinesische Schriftzeichen, Zahlen oder Buchstaben handelt, gilt als ein Zeichen
length(str)
Unter der UTF8-Kodierung zählt ein chinesisches Schriftzeichen als drei Zeichen und eine Zahl oder Jeder Buchstabe zählt als ein Zeichen.
Unter anderen Kodierungen zählt ein chinesisches Zeichen als zwei Zeichen und eine Zahl oder ein Buchstabe als ein Zeichen.
Empfohlenes Tutorial: MySQL-Video-Tutorial
Das obige ist der detaillierte Inhalt vonWas ist die Funktion zum Ermitteln der Länge in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!