mysql求長度的函數是什么?

mysql求長度的函數是length()函數和char_length()函數;其中length()函數可以返回以字節為單位的字符串的長度,而char_length()函數可以返回以字符為單位的字符串的長度。

mysql求長度的函數是什么?

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
喜歡就支持一下吧
點贊5 分享