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
答案 0 :(得分:3)
它就在LEN的文档中。
返回指定字符串表达式的字符数, 不包括尾随空白。 (重点补充)
答案 1 :(得分:0)
LEN()
排除尾随空格,这是获得不同长度值的位置。
答案 2 :(得分:0)
LEN(...)
不计算尾随空格。您可以通过执行以下操作来验证这一点:
SELECT LEN(' '); -- returns 0
SELECT LEN('A '); -- returns 1
SELECT LEN(' A '); -- returns 3