我有表客戶與列名VARCHAR(20),住址爲varchar(50),電話爲varchar(10)等SQL選擇最長字符
如何選擇最長的住址?
SELECT FROM customer
WHERE adresse ?
我有表客戶與列名VARCHAR(20),住址爲varchar(50),電話爲varchar(10)等SQL選擇最長字符
如何選擇最長的住址?
SELECT FROM customer
WHERE adresse ?
select top (1) * from customer order by len(adresse) desc;
試試這個:
select max(len(adresse)) from customer
你可以用一個子查詢做到這一點:
select * from customer where len (adresse) = (
select max (len (adresse)) from customer)
內部查詢計算出在所有adresse
列的最大長度,外部查詢爲您提供所有具有該長度的行。而且它可能是不止一個。
SELECT address FROM customer WHERE length(address) = (SELECT max(length(address)) FROM customer)
請詳細描述你的答案。 –
喬,應該不是最後一個有len和max交換?你有什麼是_last_地址的長度(我認爲)。 – paxdiablo
@paxdiablo:不,兩者都會給出相同的答案在sql server –
然後,這將是一個嚴重破壞的實現,雖然如果你可以指向我說的文檔,我會給你一個upvote。在任何理性的實現中(我確信SQLServer至少是這個理性的),'aaaaa'和'zzz' varchars的'max'是'zzz',它的長度是3,顯然不是你想要的。你想要的是長度的最大值,而不是最大值的長度。 – paxdiablo