如何在sql server中获取最大长度的值
我想问您是否有办法在ms sql server中获取maxlength of column的值。如何在sql server中获取最大长度的值,sql,sql-server,max,maxlength,Sql,Sql Server,Max,Maxlength,我想问您是否有办法在ms sql server中获取maxlength of column的值。 例如,在表A中,我们有: id | value ----+-------- 1 | 0123 2 | 00034567 3 | 547 此数据集的预期结果为00034567 无论我在哪里搜索这个问题,我都会得到答案select max(len(value)),这不是我需要的,因为它给出了值的最大字符数,而不是值本身 有什么想法吗?您使用的sql是正确的,您只需将其转换为nvarcha
例如,在表A中,我们有:
id | value
----+--------
1 | 0123
2 | 00034567
3 | 547
此数据集的预期结果为00034567
无论我在哪里搜索这个问题,我都会得到答案select max(len(value)),这不是我需要的,因为它给出了值的最大字符数,而不是值本身
有什么想法吗?您使用的sql是正确的,您只需将其转换为nvarchar即可按长度排序,然后取第一行:
SELECT TOP 1 t.value
FROM table AS t
ORDER BY LEN(t.value) DESC
select top 1 value
from mytable
order by len(value) desc
如果您想要领带:
select value
from mytable
where len(value) = (select max(len(value)) from mytable)
或更高效但特定于SQL Server的:
select value from (
select value,
rank() over (order by len(value) desc) rank
from mytable) x
where rank = 1
最后一个问题请参见。非常感谢您的回答!它给出了正确的结果!!那不是你想要的吗?如果您建议您需要的是34567>而不是547,那么,因为它是一个带select MAX()的整数就足够了。是的,如果字段只有整数,您是对的,但不幸的是,这不是我的情况。非常感谢您抽出时间。我的问题已经回答了。请看上面。谢谢你的回答。你对我得到的第一个答案感到不满,你也是对的