TSQL patindexのCHAR(13)またはおそらくCHAR(14)の問題は何ですか?パターンにCHAR(14)を含めるとすぐに、レコードが見つかりません。答えを探していると、2009年から自分の質問(未回答)が見つかりました(ここ:http ://www.sqlservercentral.com/Forums/Topic795063-338-1.aspx )。
これが私が何を意味するかを示すための別の簡単なテストです:
/* PATINDEX TEST */
DECLARE @msg NVARCHAR(255)
SET @msg = 'ABC' + NCHAR(13) + NCHAR(9) + 'DEF'
DECLARE @unwanted NVARCHAR(50)
-- unwanted chars in a "chopped up" string
SET @unwanted = N'%[' + NCHAR(1) + '-' + NCHAR(13) + NCHAR(14) + '-' + NCHAR(31) + ']%'
SELECT patindex(@unwanted, @msg)
-結果:4
-- NOW LET THE unwanted string includ the whole range from 1 to 31
SET @unwanted = '%['+NCHAR(1)+'-'+NCHAR(31)+']%' -- -- As soon as Char(14) is included, we get no match with patindex!
SELECT patindex(@unwanted, @msg)
-結果:0