SELECT * FROM table ORDER BY string_length(column);

是否有一个MySQL函数来做这个(当然不是string_length)?


当前回答

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

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

select * from customer where 1 **having length(name)<2**

其他回答

我用来找到字符串长度的函数是length,使用如下:

SELECT * FROM table ORDER BY length(column);
SELECT * FROM table 
ORDER BY LENGTH(column);

关于LENGTH()函数以及所有其他字符串函数的文档可以在这里找到。

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

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

select * from customer where 1 **having length(name)<2**

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

在我的情况下,我得到的数据使用移动号码长度大于10位使用下面的查询

SELECT * FROM table_name WHERE CHAR_LENGTH(mobile) > 10;