SELECT * FROM table ORDER BY string_length(column);
是否有一个MySQL函数来做这个(当然不是string_length)?
SELECT * FROM table ORDER BY string_length(column);
是否有一个MySQL函数来做这个(当然不是string_length)?
当前回答
您正在寻找CHAR_LENGTH()来获取字符串中的字符数。
对于多字节字符集,LENGTH()将给出字符串占用的字节数,而CHAR_LENGTH()将返回字符数。
其他回答
select * from *tablename* where 1 having length(*fieldname*)=*fieldlength*
例如,如果您想从customer中选择名称短于2个字符的条目。
select * from customer where 1 **having length(name)<2**
您正在寻找CHAR_LENGTH()来获取字符串中的字符数。
对于多字节字符集,LENGTH()将给出字符串占用的字节数,而CHAR_LENGTH()将返回字符数。
SELECT * FROM table
ORDER BY LENGTH(column);
关于LENGTH()函数以及所有其他字符串函数的文档可以在这里找到。
看一下MySQL的字符串函数文档,我们也可以使用CHAR_LENGTH()和CHARACTER_LENGTH()。
我用来找到字符串长度的函数是length,使用如下:
SELECT * FROM table ORDER BY length(column);