删除"白色字符"

时间:2014-01-21 10:16:26

标签: sql sql-server sql-server-2008

如果以前曾经问过这个问题的类型,我很抱歉。但是,到目前为止,我找不到任何正确的答案。我正在尝试删除行中的任何“白色字符”但不起作用。

我有一张桌子上有很多“白色字符”。我说“白色字符”因为我不确定它是空格字符。我证明了这一点:

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

知道如何删除这样的“白色字符”吗? 谢谢。

1 个答案:

答案 0 :(得分: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对于这项工作来说是一个非常糟糕的工具。