站内搜索

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 CharLengthFROM DVDsWHERE CHAR_LENGTH(Name)>5ORDER BY Name;
  • 上一篇:mysql SIGN(x) 判断数字x是正数负数还是零
  • 下一篇:mysql order by 对select查询结果集排序