2012-02-03 154 views
0

我有一個字符串'test                '。我正試圖刪除這個空間。我已經使用RTrim函數。但它不起作用。請幫忙。刪除字符串中的空格

+0

「但它不工作」 - 你需要解釋比這更好。 – 2012-02-03 10:27:17

+0

它是一個什麼樣的領域? 'char'或'varchar'?你確定那些是空格,而不是其他一些只顯示空格的角色嗎? – 2012-02-03 10:27:23

+0

我只是執行下面的語句在SQL 2008年,它工作得很好:SELECT \t RTRIM( '布朗克斯 ') \t,LEN(RTRIM(' 布朗克斯 ')) \t,LEN(' 布朗克斯') – 2012-02-03 10:30:38

回答

0

這不起作用,因爲RTrim刪除尾部空白,但在'之後沒有任何空格。

嘗試SELECT REPLACE('BRONX ', ' ', '')

0

也許它不是空間。複製文字並粘貼到REPLACE(string,HERE,'')

下面是一些代碼:

DECLARE @string as nvarchar(50); 
SET @string = 'dbc  ' 
SELECT RTRIM(@string) 
SELECT REPLACE(@string,' ','') 
+0

最後一個字符是'''。你可以在他的問題中看到這個。 – 2012-02-03 10:32:12

0

如果列是一個char(或nchar)列,您試圖通過類似刪除空格:

update MyTable 
    set MyColumn = RTrim(MyColumn) 

這將無法正常工作。請參見MSDN

當指定NOT NULL 子句時,char數據類型是固定長度數據類型。如果將短於列 的值的值插入到char NOT NULL列中,則該值被右填充爲 ,其中空白爲該列的大小。例如,如果一列定義爲char(10),並且要存儲的數據是「音樂」,則SQL Server 將此數據存儲爲「music___」,其中「_」表示空格。

+0

它不會工作,因爲最後一個字符是'''。你可以在他的問題中看到這個。 – 2012-02-03 10:32:36

+0

@ todda.speot.is - 或者他只是指常規的字符串demiliter顯示空格?我是這樣理解的。 – 2012-02-03 10:34:37