Моя строка содержит ведущие и конечные пробелы (см. Ниже).tsql LTRIM и LEN с ведущими и конечными пробелами
Когда я применил функцию LRTIM, она работает. Затем, когда я устанавливаю LTRIM-функцию с помощью функции LEN в строку, она кажется, что длина отключена на 1 (т. Е. Длина исходной строки равна 16, LTRIM удалил одно (1) ведущее пространство из строки, поэтому я ожидал LEN чтобы вернуть длину 15, а не 14). Любые объяснения?
SELECT
' This is a test ' AS origStr
,LEN(' This is a test ') AS origStrLen
,'[' + LTRIM(' This is a test ') + ']' AS ltrimStr
,LEN(LTRIM(' This is a test ')) AS strLtrimLen
;
Результаты:
This is a test | 16 | [This is a test ] | 14 |
Извините за повторное вывешено этого конкретного вопроса. И спасибо за предоставление ссылки, которая объясняет эту проблему. Я читал о DATALENGTH vs LEN. – user3033344