2015-01-08 90 views
0

無法修剪表格中以下數據中的空白空間。列數據類型是VARCHAR2(650 CHAR)。我嘗試修剪功能,以消除空白。但那不適合我。需要修剪oracle中的空白空間

DATA在我的表:

'xxxxxxxxxx yyyyyyyyy - 12/7/14 - 12/13/14 ' 
'xxxxxxxxxx yyyyyyyyy - 12/7/14 - 12/13/14  ' 
'xxxxxxxxxx yyyyyyyyy - 12/7/14 - 12/13/14 ' 

我想修剪像下面

'xxxxxxxxxx yyyyyyyyy - 12/7/14 - 12/13/14' 
'xxxxxxxxxx yyyyyyyyy - 12/7/14 - 12/13/14' 
'xxxxxxxxxx yyyyyyyyy - 12/7/14 - 12/13/14' 

能否請你幫我這個數據。

+1

不工作不是藉口。顯示迄今爲止您嘗試過的內容。 –

+1

你怎麼確定有尾隨空格?你用什麼查詢或工具查看它們? –

回答

1

使用Trim功能

select Trim(trailing ' ' from 'xxxxxxxxxx yyyyyyyyy - 12/7/14 - 12/13/14 ') from dual 

或使用Rtrim

select RTrim('xxxxxxxxxx yyyyyyyyy - 12/7/14 - 12/13/14 ') from dual 
+0

不,如果相同的數據表中存在相同的數據類型,那麼它不適用於我 – spyga

+0

也許你的列中沒有空格,也許有罕見字符 – Aramillo

+0

它不工作..有什麼辦法可以得到單獨的第二個日期來自字符串。 – spyga

0

我會用REGEXP_REPLACE()事件,還有其他空白字符如標籤在那裏:

SELECT REGEXP_REPLACE(mydata, '\s+$') AS mydata 
    FROM mytable 

希望這有助於。如果TRIM()不工作,那麼我懷疑你有空間以外的東西。

如果您知道數據會以數字結束,您也可以嘗試以下操作:

SELECT REGEXP_REPLACE(mydata, '\D+$') AS mydata 
    FROM mytable 

\D在正則表達式匹配的一切,但一個數字,所以任何尾隨字符不是數字0-9將被修剪。

+0

它沒有工作...... – spyga

+0

我無法解釋它爲什麼不工作,你能給一個例子?請參閱SQL小提琴:http://sqlfiddle.com/#!4/d41d8/39515 - 修剪尾隨字符。 –

+2

@spyga:「不工作」不是可接受的錯誤描述 –

0

我們還可以修剪左,使用下面的方法右側空格

SELECT LTrim(RTrim('xxxxxxxxxx yyyyyyyyy - 12/7/14 - 12/13/14 ')) FROM dual