Jak dowiedzieć się długość/rozmiar danych w kolumnie tekstu w SQL? - Jest dłuższy niż 8000 bajtów, więc nie mogę go przesłać do varchara. Dzięki.Długość danych w kolumnie ntext?
42
A
Odpowiedz
66
Zastosowanie DataLength()
SELECT * FROM YourTable WHERE DataLength(NTextFieldName) > 0
19
Wskazówkę jest w pytaniu: użyj DATALENGTH()
. Zauważ, że ma inną zachowanie do LEN()
:
SELECT LEN(CAST('Hello ' AS NVARCHAR(MAX))),
DATALENGTH(CAST('Hello ' AS NVARCHAR(MAX))),
DATALENGTH(CAST('Hello ' AS NTEXT))
zwraca 5, 16, 16.
Innymi słowy, DATALENGTH()
nie usuwa spacje i zwraca liczbę bajtów, podczas gdy LEN()
przycina krawędzie tylną spacje i zwraca liczbę znaków.
0
Select Max(DataLength([NTextFieldName])) from YourTable