2014-01-21 51 views
0

如果以前曾詢問過此類型的問題,我很抱歉。但是,到目前爲止,我還沒有找到任何正確的答案。我試圖刪除我行中的任何「白色字符」,但無法工作。刪除「白色字符」

我有一張桌子上有很多「白色字符」。我說「白色字符」因爲我不確定它是空間字符。我證明了這一點:

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

它給了我各種ASCII字符顯示爲SPACE。我確定鍵入腳本這樣的東西不起作用。

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

任何想法如何刪除這樣的「白色字符」? 謝謝。

+0

什麼數據類型是myfield? – NickyvV

+0

數據類型爲varchar(50) –

+0

您正在查找空格字符,其中至少包括空格,製表符,回車符,換行符,換頁字符。我認爲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

謝謝。我很感激。 –