Rumah  >  Artikel  >  pangkalan data  >  mysql求长度的函数是什么?

mysql求长度的函数是什么?

青灯夜游
青灯夜游asal
2020-10-07 14:07:403537semak imbas

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视频教程

Atas ialah kandungan terperinci mysql求长度的函数是什么?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn