Bootstrap

MySql计算字段的长度

MySql计算字段的长度

用户账号有用中文字符,查找所有含有中文字符的账号

SELECT member_name FROM table_member WHERE length(member_name)!=char_length(member_name)

LENGTH

mysql里面的 “LENGTH” 函数是一个用来获取字符串长度的内置函数

CHAR_LENGTH

在mysql内置函数里面查看字符串长度的还有一个函数是 “CHAR_LENGTH”,这两个函数的区别是:
LENGTH: 一个汉字是算三个字符,一个数字或字母算一个字符。
CHAR_LENGTH: 不管汉字还是数字或者是字母都算是一个字符


实例

汉字

SELECT LENGTH('字符');
输出:6

SELECT CHAR_LENGTH('字符');
输出:2

字符

SELECT LENGTH('abc');
输出:3

SELECT CHAR_LENGTH('abc');
输出:3
命令单位一个汉字一个数字or字母示例
char_length字符11char_length(str)
lengthByte31length(str)
bit_lengthbit248length(str)

`

当字符串的长度,超过max_allowed_packet定义的最大长度,上述函数将返回NULL。
max_allowed_packet一般默认为4MB(5.6.5及一下为1MB)
如需了解MySQL所有类型的长度定义、存储开销,可以参考《MySQL所有类型的长度范围、存储开销(区分显示宽度/有无符号)》

;