2011-10-19 23 views
1

SQL Server如何處理Substring/LEFT中的空格?SQL Server如何處理Substring/LEFT中的空格?

如果在子字符串/左邊界處有一個空格,我會得到與有文本不同的值。 是否有這方面的文件?

DECLARE @st_Spaces char(25) 
DECLARE @st_NoSpaces char(25) 

SET @st_Spaces = '123 56' --One space, pos 4 
SET @st_NoSpaces = REPLACE(@st_Spaces, ' ', '4') --Replace space w/ 4 


SELECT LEN(LEFT(@st_Spaces, 4)), --Returns 3 
LEN(LEFT(@st_NoSpaces,4)) --Returns 4 

回答

3

它就在那裏爲LEN的文件中。

返回指定字符串表達式的字符數, 不包括尾隨空白。 (強調增加)

0

LEN()排除尾隨空白,這是你得到不同長度值的地方。

0

LEN(...)不計算尾隨空格。你可以通過這樣做來驗證:

SELECT LEN(' '); -- returns 0 
SELECT LEN('A '); -- returns 1 
SELECT LEN(' A '); -- returns 3