2011-10-19 12 views
1

SQL Serverはどのように部分文字列/ LEFTでスペースを処理しますか?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

LENのドキュメントにあります。

は空白末尾除く、指定した文字列式の文字数を返します。 (重点が追加された)

0

LEN()は、異なる長さの値を取得している末尾の空白を除外します。

0

LEN(...)は末尾の空白をカウントしません。これを確認するには、以下を実行します。

SELECT LEN(' '); -- returns 0 
SELECT LEN('A '); -- returns 1 
SELECT LEN(' A '); -- returns 3 
関連する問題