2017-03-08 29 views
0

空の列から空白を削除するには、csvファイルからインポートされたデータを含むTempテーブルがあります。 RTRIM(LTRIM(列))を試してみましたが、stringがnullでない場合は、先頭と末尾の空白を削除しています。空の列から空白SQL Serverを削除します。

+0

、投稿してくださいいくつかのサンプルデータおよび所望の結果:私が正しい場合

が、これはトリックを行う必要があります。 – McNets

+1

まあ、LTRIMは左のスペースを削除し、RTRIMは末尾のスペースを削除します。すべてのスペースを削除する場合は、REPLACEを使用する必要があります。 –

答えて

2

私は最も簡単な方法は、REPLACEを使用することであると思う:

REPLACE年代の
SELECT REPLACE(' Test done ', ' ', '') 

またはカスケード:

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

後者はスペース、改行やキャリッジリターン文字を削除します。式を展開して白い文字(タブ)を削除してください。

+1

これから言えば、次回のバージョンでは 'REPLACE'カスケードを避けるために[' TRANSLATE'](https://msdn.microsoft.com/en-us/library/mt775084.aspx)が出ます – Shnugo

0

ここではlimに出て、白い空白や空の文字列しか含まない場合は、csvからNULLにインポートされた値を変更したいとします。

SELECT NULLIF(LTRIM(RTRIM(ColumnName)), '') As ColumnName 
関連する問題