簡體   English   中英

如何在sql server中獲取max length的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM