表客戶
ID NAME LETTER
001 TOM Lorem Ipsum
002 JEK Lorem Ipsum
003 MAX texttexttexttext...(30k letters)
004 JIZ NULL
005 ZAK texttexttexttext...(50k letters)
DB 中的“Letter”資料型別是“text”,我有一些記錄包含 50k 個字母,即使我的 microsoft sql 客戶端也不會加載它的完整大小:/
無論如何,我需要選擇字母列中符號長度最大的IDS
我嘗試了下一個:SELECT TOP 100 * FROM Customers ORDER BY CHAR_LENGTH(Letter);
但看起來我的 db/sql 客戶端 dsnt 具有該功能:/我也嘗試過 len(Letter) 但引數資料型別對于 len 函式無效(
uj5u.com熱心網友回復:
如果您想要文本欄位中的實際字符數,請將其轉換為 a varchar,這應該適用于大多數情況:
select top(100) *
from Customers
order by len(cast(letter as varchar(max))) desc
如果你想要位元組,text可以與datalength
select top(100) *
from Customers
order by datalength(letter) desc
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/372099.html
標籤:sql sql-server
