LENGTH()函数返回字符串的字节长度,如SELECT LENGTH('hello')返回5,SELECT LENGTH('你好')在utf8mb4下返回6;CHAR_LENGTH()返回字符数,如CHAR_LENGTH('你好')返回2;常用于验证字段长度,如限制用户名不超过20字符:SELECT * FROM users WHERE CHAR_LENGTH(username) <= 20。
在 MySQL 中,可以使用 LENGTH() 函数来计算字符串的 字节 长度。 LENGTH() 函数说明 LENGTH(str) 返回字符串 str 的字节长度,不是字符数。对于单字节 编码 (如 latin1),一个字符占一个字节;但在 UTF-8 编码中,中文或特殊字符通常占多个字节。 例如: SELECT LENGTH('hello'); -- 返回 5 SELECT LENGTH('你好'); -- 在 utf8mb4 下返回 6(每个汉字占3字节) CHAR_LENGTH() 与 LENGTH() 的区别 如果关心的是字符个数而非字节长度,应使用 CHAR_LENGTH() : LENGTH('你好') → 6(字节) CHAR_LENGTH('你好') → 2(字符) 实际应用场景 常用于验证字段内容长度是否符合要求,比如限制用户名不超过20个字符: MySQL(Linux) MySQL 9.6.0是面向Linux平台的2026年创新版本,核心架构迎来重大革新。其将外键约束与级联操作从InnoDB引擎层上移至SQL层,确保所有数据变更均被完整记录至Binlog,彻底解决了CDC(变更数据捕获)与主从复制中的数据不一致难题。此外,该版本引入container_aware启动选项以原生适配容器环境,并对审计日志进行了组件化重构,为追求极致数据一致性与云原生体验的开发者提供了全新选择。 下载 SELECT * FROM users WHERE CHAR_LENGTH(username) 或检查某字段存储的文本是否为空或仅有空格: SELECT * FROM messages WHERE LENGTH(TRIM(content)) = 0; 基本上就这些,根据字符集和需求选择 LENGTH 或 CHAR_LENGTH 更合适。相关文章
- Docker 安装 MySQL 后,为什么本地无法连接?
- 如何避免MySQL中的死锁问题
- mysql如何处理升级后SQL_MODE变化_mysql严格模式兼容调整
- swappiness=10 后仍频繁 swap 的 anon page / file-backed page 区分排查
- 利用MongoDB构建智能工业大数据平台的经验分享
- Chapter2UserAuthentication,Authorization,andSecurity(11):
- mysql表结构同步到另一台服务器_Schema Export技巧
- redis如何限流 redis限流算法的3种实现对比
- 关于 MySQL 密码你应该知道的那些事
- .NET Core项目怎么修复SQL注入_使用Entity Framework Core参数化
