MySQL BIT_LENGTH() 函数是否是多字节安全的?

WBOY
发布: 2023-09-16 20:21:06
转载
829 人浏览过

MySQL BIT_LENGTH() 函数是否是多字节安全的?

就像LENGTH()函数一样,MySQL BIT_LENGTH()函数不是多字节安全函数。我们知道,多字节安全函数(如 CHAR_LENGTH() 或 CHARACTER_LENGTH())与 BIT_LENGTH() 函数之间的结果差异尤其与 Unicode 相关,其中大多数字符都以两个字节编码或与 UTF 相关-8,其中字节数不同。如下例所示 -

示例

mysql> Select BIT_LENGTH('tutorialspoint');
+------------------------------+
| BIT_LENGTH('tutorialspoint') |
+------------------------------+
| 112                          |
+------------------------------+
1 row in set (0.00 sec)
登录后复制

上面的结果集显示字符串“tutorialspoint”的位长为 112,因为它尚未转换为 Unicode 字符。下面的查询将其转换为 Unicode 字符 -

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

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

mysql> Select BIT_LENGTH(@A);
+----------------+
| BIT_LENGTH(@A) |
+----------------+
| 224            |
+----------------+
1 row in set (0.00 sec)
登录后复制

以上是MySQL BIT_LENGTH() 函数是否是多字节安全的?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板