时间:2010-07-23 14:03:20

标签: mysql string-length

4 个答案:

答案 0 :(得分:18)

答案 1 :(得分:10)

答案 2 :(得分:3)

您可能需要考虑CHAR_LENGTH()。 与documentation的区别:

  

CHAR_LENGTH():返回参数

中的字符数      

LENGTH():以字节为单位返回字符串的长度

例如,在列上使用UTF-8时,这些函数会返回不同的值。

请注意,您为string列设置的长度(例如:varchar)实际上是字符长度。

答案 3 :(得分:1)

让表的名称为tbl1,列的名称为col1,您要在其中查找最长的值。

方法1:

select col1, length(col1) from tbl1 order by length(col1) desc limit 1

这将返回值以及值的长度。

如果上述方法只是一行,或者您只想检索一条长度最长的行,则最好采用上述方法。如果它们是多行,它们具有最长的长度并且您想要全部检索它们,那么第二种方法将是最好的。

方法2:

  

从tbl1中选择col1,length(col1),其中length(col1)in(select   max(length(col1))from tbl1)

这将返回具有最长值的所有行的值以及值的长度。