Maison >base de données >tutoriel mysql >mysql length与char_length有什么区别,有什么不同?
length: 是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符
char_length:不管汉字还是数字或者是字母都算是一个字符
例子:
1、你要查的的数据时英文状态下的3个字符, 那个这种查询你就需要用length这个mysql的函数来实现了,length是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符
<code class="language-sql">select * from user where length(username) = 3</code>
这样查询的结果会是出现所有3个字符的用户名字段全部显示出来,不会出现3个汉字的用户名出来
2、你要查询的是只要是占了三个位置的摸一个字段, 那你就应该使用char_length这个来查询,这个函数是不管汉字还是数字或者是字母都算是一个字符,
<code class="language-sql">select * from user where char_length(username) = 3</code>
length: 是计算字段的长度一个汉字是算三个字符,也有可能是4个或者其他, 这个要看你数据库的编码,一个数字或字母算一个字符
注意,对于多字节字符,其CHAR_LENGTH()仅计算一次。
<code class="language-sql">SELECT Name, CHAR_LENGTH(Name) AS CharLength FROM DVDs WHERE CHAR_LENGTH(Name)>5 ORDER BY Name;</code>