答案 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)
这将返回具有最长值的所有行的值以及值的长度。