2014-01-21 4 views
0

이 질문에 이전에 물어 본 점에 죄송합니다. 그러나, 나는 지금까지 질문으로 인해 정답을 찾지 못했습니다. 행에서 "흰색 문자"를 제거하려고하지만 작동하지 않습니다."흰색 문자"제거

"흰색 문자"가 많은 테이블이 있습니다. "공백 문자"라고했는데 공백 문자가 맞지 않습니다. 나는 다음과 같이 증명했습니다 :

SELECT ASCII(RIGHT(myfield,1)) as expre1 FROM mytable 

SPACE로 표시되는 다양한 ASCII 문자를 제공합니다. 이런 식으로 타이핑 스크립트가 작동하지 않는다고 확신합니다.

SELECT replace(myfield, ' ', '') as expr1 FROM mytable 
SELECT LTRIM(RTRIM(myfield)) as expr1 FROM mytable 

"흰색 문자"를 제거하는 방법을 알려주세요. 감사합니다.

+0

myfield는 어떤 데이터 유형입니까? – NickyvV

+0

데이터 형식은 varchar (50) –

+0

입니다. 적어도 공백, 탭, 캐리지 리턴, 줄 바꿈, form-feed 문자를 포함하는 공백 문자를 찾고 있습니다. Unicode (nvarchar) 필드에는 비 분리 영역과 같은 공백 문자가 더 많이 포함되어 있다고 생각합니다. –

답변

0

이 작동, Fiddle Here

 SELECT 
      [C] AS [data()] 
     FROM (
      SELECT 
        substring([Test].[Data], v.Number+1, 1) [C] 
       FROM (
        SELECT [Data] FROM [Test]) [Test] 
        JOIN 
         master..spt_values [v] 
          ON [v].Number < LEN([Test].[Data]) 
        WHERE 
         [v].type = 'P') [Test] 
       WHERE 
        len(ltrim([Test].[C])) > 0 
     FOR XML PATH('') 

그러나 TSQL는 작업에 대한 정말 나쁜 도구입니다.

+0

감사합니다. 알겠습니다. –