mysql求長度的函數是length()函數和char_length()函數;其中length()函數可以返回以位元組為單位的字串的長度,而char_length()函數可以返回以字元為單位的字串的長度。
MySQL中 char_length 函數與 length 函數都可以返回字串的長度
mysql> select length('MySQL'), char_length('MySQL'); +-----------------+----------------------+ | length('MySQL') | char_length('MySQL') | +-----------------+----------------------+ | 5 | 5 | +-----------------+----------------------+ 1 row in set (0.01 sec)
兩個函數的功能:
LENGTH() 返回以位元組為單位的字串的長度。
CHAR_LENGTH() 返回以字元為單位的字串的長度。
由上面的例子來看,「MySQL」共5個字元,每個字元應該是佔1個位元組。
而中文不一樣,一般一個漢字佔2-3個位元組。如:
GBK字元集編碼下:
select char_length(‘中國’); // 2個字元 select length(‘中國’); // 4個位元組,一個漢字2個位元組 select bit_length(‘中國’); // 32位元。4*8 = 32
UTF8字元集編碼下:
select char_length(‘中國’);// 2個字元 select length(‘中國’); // 6個位元組,一個漢字3個位元組 select bit_length(‘中國’); // 48位元。6*8 = 48
總結
char_length(str)
長度的單位為字元,一個多位元組字元算作一個單字元
不管漢字還是數位或者是字母都算是一個字元
length(str)
utf8編碼下,一個漢字算三個字元,一個數位或字母算一個字元。
其他編碼下,一個漢字算兩個字元, 一個數位或字母算一個字元。
推薦教學:
以上就是mysql求長度的函數是什麼?的詳細內容,更多請關注TW511.COM其它相關文章!