0

如 MySQL 开发站点中给出的 -

BIT_LENGTH(str) -

返回字符串 str 的长度(以位为单位)。

长度(str) -

返回字符串 str 的长度,以字节为单位。一个多字节字符计为多个字节。

一些样本结果 -

SELECT BIT_LENGTH(_utf8mb4 "Hello") AS output;
+--------+
| output |
+--------+
|     40 |
+--------+

SELECT LENGTH(_utf8mb4 "Hello") AS output;
+--------+
| output |
+--------+
|      5 |
+--------+

所以第一个结果是位,第二个是字节,8 位 = 1 个字节。

因此,结果 1 = 8 * 结果 2;

再次,

SELECT BIT_LENGTH(_ucs2 "Hello") AS output;
+--------+
| output |
+--------+
|     48 |
+--------+

SELECT LENGTH(_ucs2 "Hello") AS output;
+--------+
| output |
+--------+
|      6 |
+--------+

在这里,result1 = 8 * result2;

所以这两个函数之间的区别只是 BIT_LENGTH(str) 以位返回结果,而 LENGTH(str) 以字节返回结果,

还是有更多的区别?

4

0 回答 0