[英]How to get the value of max length in sql server
我想問你是否有辦法在ms sql server中獲取列的maxlength值。
例如,在表A中我們有:
id | value
----+--------
1 | 0123
2 | 00034567
3 | 547
該數據集的期望結果是00034567。
無論我在哪里搜索這個問題,我都會得到答案選擇max(len(value)),這不是我需要的,因為它給出了值的最大字符數而不是值本身。
有任何想法嗎?
SELECT TOP 1 t.value
FROM table AS t
ORDER BY LEN(t.value) DESC
你使用的sql是正確的,你只需要將它轉換為nvarchar
按長度排序並占據第一行:
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
請參閱SQLFiddle以獲取最后一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.