2008-10-23 32 views

Respuesta

66

Uso DataLength()

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

La clave está en la pregunta: utilizar DATALENGTH(). Tenga en cuenta que tiene un comportamiento diferente a LEN():

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

retornos 5, 16, 16.

En otras palabras, DATALENGTH() no quita espacios finales y devuelve el número de bytes, mientras que LEN() recorta el arrastre espacios y devuelve la cantidad de caracteres.

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