首頁  >  文章  >  資料庫  >  mysql求長度的函數是什麼?

mysql求長度的函數是什麼?

青灯夜游
青灯夜游原創
2020-10-07 14:07:403499瀏覽

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影片教學

以上是mysql求長度的函數是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn