CHAR_LENGTH(str) 返回值为字符串 str 所包含的字符个数。一个多字节字符算作一个单字符。
LENGTH(str) 返回值为字符串的 字节长度 ,使用 utf8 编码字符集,一个汉字是3个字节,一个数字或字母算一个字节。
示例:
$ SELECT CHAR_LENGTH('data'), CHAR_LENGTH('中国'), LENGTH('data'), LENGTH('中国');点击复制复制失败已复制
执行结果:
| CHAR_LENGTH(integer) | CHAR_LENGTH(integer) | LENGTH(integer) | LENGTH(integer) |
| 4 | 2 | 4 | 2 |
疑问
无论中文还是英文,这两个函数的返回结果均一致,那么区别究竟是什么?