LENGTH()返回字节长度,CHAR_LENGTH()返回字符个数;如'你好'在UTF8下LENGTH为6,CHAR_LENGTH为2;常用于验证存储大小或限制字节长度。

在 MySQL 中,LENGTH() 函数用于计算字符串的字节长度,而不是字符个数。这个区别在处理多字节字符(如中文、emoji)时尤为重要。
使用 LENGTH(str) 可以返回字符串 str 所占用的字节数。例如:
SELECT LENGTH('hello'); -- 返回 5
SELECT LENGTH('你好'); -- 返回 6(UTF8 编码中每个中文字符占 3 字节)
SELECT LENGTH(''); -- 返回 0(空字符串)
很多人容易混淆 LENGTH() 和 CHAR_LENGTH():
举例说明:
SELECT
LENGTH('MySQL') AS byte_len,
CHAR_LENGTH('MySQL') AS char_len; -- 都是 5
<p>SELECT
LENGTH('中国') AS byte_len,
CHAR_LENGTH('中国') AS char_len; -- byte_len=6, char_len=2</p>当你需要验证字段存储大小、限制输入字节长度(如某些协议要求)或分析数据存储开销时,LENGTH() 很有用。
比如检查用户昵称是否超过 20 个字节:
SELECT nickname FROM users WHERE LENGTH(nickname) > 20;
基本上就这些。记住:LENGTH 看的是字节,不是字符个数,特别是在使用 UTF8 或 UTF8MB4 字符集时要特别注意。
以上就是mysql如何使用length计算字符串长度的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号