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

Gal*_*Gal 285 mysql select string-length

SELECT * FROM table ORDER BY string_length(column);
Run Code Online (Sandbox Code Playgroud)

是否有MySQL功能(当然不是string_length)?

hsz*_*hsz 472

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

对于多字节字符集,LENGTH()将为您提供字符串占用的字节数,同时CHAR_LENGTH()将返回字符数.

  • 实际上,CHAR_LENGTH()应该是更好的选择.对于多字节字符集,LENGTH()将为您提供字符串占用的字节数,而CHAR_LENGTH()将返回字符数. (138认同)
  • 选择LENGTH('Ö'); 结果2 !! AndrásSzepesházi的答案是正确的! (4认同)

Kal*_*see 77

select * from table order by length(column);
Run Code Online (Sandbox Code Playgroud)

有关length()函数以及所有其他字符串函数的文档,请参见此处.


Nev*_*ess 27

在看看MySQL文档的字符串函数,我们也可以使用CHAR_LENGTH(),并CHARACTER_LENGTH()为好.


Gan*_*n J 19

就我而言,我使用以下查询使用长度大于 10 位的手机号码获取数据

SELECT * FROM table_name WHERE CHAR_LENGTH(mobile) > 10;
Run Code Online (Sandbox Code Playgroud)


Rit*_*ito 5

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

SELECT * FROM table ORDER BY length(column);
Run Code Online (Sandbox Code Playgroud)