2013-11-25 64 views
0

我的字符串包含前導和尾隨空格(見下文)。tsql LTRIM和LEN的前導和尾隨空格

當我應用LRTIM功能它似乎工作。接下來,當我將帶有LEN函數的LTRIM函數嵌套到字符串時,長度顯示爲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 | 
+0

對不起,重貼這個特定問題。並感謝您提供解釋此問題的鏈接。我讀了DATALENGTH和LEN。 – user3033344

回答

0

這是因爲LEN()不是之後字符串空間計數。

LEN(LTRIM(' This is a test ')) has one space before and one space after string. 

實施例: SELECT LEN('TEXT ') RETURNS ---> 4

相關問題