mysql求長度的函數是什麼?

2020-10-07 15:00:16

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其它相關文章!