mysql length与char_length有什么区别,有什么不同?

时间:2016-05-27
mysql length与char_length这两个函数想必大家都不陌生,但他们之间的区别知道的人应该很少,本文章向码农介绍mysql length与char_length有什么区别、有什么不同? 需要的朋友可以参考一下。

length: 是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符

char_length:不管汉字还是数字或者是字母都算是一个字符

例子:

1、你要查的的数据时英文状态下的3个字符, 那个这种查询你就需要用length这个mysql的函数来实现了,length是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符

select * from user where length(username) = 3

这样查询的结果会是出现所有3个字符的用户名字段全部显示出来,不会出现3个汉字的用户名出来

2、你要查询的是只要是占了三个位置的摸一个字段, 那你就应该使用char_length这个来查询,这个函数是不管汉字还是数字或者是字母都算是一个字符,

select * from user where char_length(username) = 3

length: 是计算字段的长度一个汉字是算三个字符,也有可能是4个或者其他, 这个要看你数据库的编码,一个数字或字母算一个字符

注意,对于多字节字符,其CHAR_LENGTH()仅计算一次。

SELECT Name, CHAR_LENGTH(Name) AS CharLength
FROM DVDs
WHERE CHAR_LENGTH(Name)>5
ORDER BY Name;