MySQL-如何通过字符串长度选择数据


301
SELECT * FROM table ORDER BY string_length(column);

有MySQL函数可以执行此操作(当然不是string_length)吗?

Answers:


490

您正在寻找CHAR_LENGTH()获取字符串中的字符数。

对于多字节字符集,LENGTH()您将获得字符串占用的字节数,而CHAR_LENGTH()将返回字符数。


139
实际上,CHAR_LENGTH()应该是一个更好的选择。对于多字节字符集,LENGTH()将为您提供字符串占用的字节数,而CHAR_LENGTH()将返回字符数。
2011年

4
选择LENGTH('Ö'); 结果2!AndrásSzepesházi的答案是正确的!
fubo

将整数参数发送到是正确的CHAR_LENGTH,因为是否返回字符数?,通过ejemplo CHAR_LENGTH(12)返回2
DarkFenix


27

看一下有关字符串函数的MySQL文档,我们也可以使用CHAR_LENGTH()CHARACTER_LENGTH()


3

我用来查找字符串长度的函数是length,其用法如下:

SELECT * FROM table ORDER BY length(column);


-2
select * from *tablename* where 1 having length(*fieldname*)=*fieldlength*

例如,如果您要从客户中选择名称短于2个字符的条目。

select * from customer where 1 **having length(name)<2**
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.