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

时间:2011-10-19 19:16:15

标签: sql-server string

SQL Server如何处理子串/ 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 个答案:

答案 0 :(得分:3)

它就在LEN的文档中。

  

返回指定字符串表达式的字符数,   不包括尾随空白。 (重点补充)

答案 1 :(得分:0)

LEN()排除尾随空格,这是获得不同长度值的位置。

答案 2 :(得分:0)

LEN(...)不计算尾随空格。您可以通过执行以下操作来验证这一点:

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