首页 > 文章列表 > MySQL LENGTH()函数的同义函数是哪个?

MySQL LENGTH()函数的同义函数是哪个?

210 2023-08-25

我们知道,MySQL的OCTET_LENGTH()函数也是以“字节”为单位来衡量字符串长度的,因此它是MySQL LENGTH()函数的同义词。该函数的语法是OCTET_LENGTH(Str),其中Str是要返回字符长度的字符串。

它也不像LENGTH()函数那样支持多字节安全。例如,如果一个字符串包含四个2字节的字符,那么OCTET_LENGTH()函数将返回8。在下面的示例中进行了演示−

示例

mysql> Select OCTET_LENGTH('tutorialspoint');
+--------------------------------+
| OCTET_LENGTH('tutorialspoint') |
+--------------------------------+
|                             14 |
+--------------------------------+
1 row in set (0.00 sec)

上述结果集显示字符串“tutorialspoint”的长度为14,因为它尚未转换为Unicode字符。以下查询将其转换为Unicode字符−

mysql> SET @A = CONVERT('tutorialspoint' USING ucs2);
Query OK, 0 rows affected (0.02 sec)

将字符串转换为Unicode后,结果为28而不是14,因为在Unicode中,一个字符占用2个字节,如下所示 −

mysql> Select OCTET_LENGTH(@A);
+------------------+
| OCTET_LENGTH(@A) |
+------------------+
|               28 |
+------------------+
1 row in set (0.00 sec)