2017-03-08 62 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