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視頻教程
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦