2008-10-23 5 views
42

SQL'de bir ntext sütunundaki verilerin uzunluğunu/boyutunu nasıl buluyorsunuz? - 8000 bayttan daha uzun olduğu için bunu bir varchar'a yayınlayamıyorum. Teşekkürler.ntext sütunundaki veri uzunluğu?

cevap

66

Kullanım DataLength()

SELECT * FROM YourTable WHERE DataLength(NTextFieldName) > 0 
19

ipucu söz konusu açıklanmıştır: DATALENGTH() kullanın. LEN() sondaki düzeltir oysa

SELECT LEN(CAST('Hello ' AS NVARCHAR(MAX))), 
     DATALENGTH(CAST('Hello ' AS NVARCHAR(MAX))), 
     DATALENGTH(CAST('Hello ' AS NTEXT)) 

döner 5, 16, diğer bir deyişle 16

, DATALENGTH() sonunda boşluk kaldırmaz ve bayt sayısını verir: bu LEN() farklı davranışa sahiptir Not boşlukları ve karakter sayısını döndürür.

0
Select Max(DataLength([NTextFieldName])) from YourTable