2017-03-08 61 views
0

我有Temp表包含从csv文件导入的数据,我想从空列删除空白。使用RTRIM(LTRIM(列))尝试,如果字符串不为空,它只是删除前导和尾随空格。从空列sql服务器删除空白空间

+0

请,张贴一些样本数据和期望的结果。 – McNets

+1

嗯,LTRIM删除左边的空格,RTRIM删除尾部空格。如果你想删除所有需要使用REPLACE的空间。 –

回答

2

我认为最简单的方法是使用REPLACE

SELECT REPLACE(' Test done ', ' ', '') 

REPLACE的级联:

DECLARE @text nvarchar(MAX)=N' Line test'+CHAR(13)+CHAR(10)+'done '; 
SELECT REPLACE(REPLACE(REPLACE(@text, ' ', ''), CHAR(13), ''), CHAR(10), '') 

后者删除空间,换行和回车字符。只需展开表达式即可删除更多的白色字符(即选项卡)。

+1

只需提及它:即将推出的版本将带来['TRANSLATE'](https://msdn.microsoft.com/en-us/library/mt775084.aspx)以避免'REPLACE'cascas ... – Shnugo

0

我要在这里出去,并假设你想要将从csv导入的值更改为NULL,如果它们只包含空格或空字符串。

如果我是正确的,这应该做的伎俩:

SELECT NULLIF(LTRIM(RTRIM(ColumnName)), '') As ColumnName