MySQL 的 LENGTH() 函数的同义函数是什么?


众所周知,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)

更新日期:20-6 月 -2020

92 次浏览

开启你的职业生涯

通过完成课程获取证书

开始吧
广告
© . All rights reserved.