2017-06-01 38 views
-1

我想刪除逗號後的空格,在使用SQL腳本的列中。 我正在使用oracle數據庫。如何在使用SQL的列中刪除逗號後的空格?

例如, DB structure

我希望有一個空間(後Sathish所在,庫馬爾,拉加)從列 '名' 中移出,

我想表的樣子,Required format

同樣所有的記錄都要修改。 我想,這個查詢,

update incitable SET name = LTRIM(RTRIM(name)); 

但它沒有做任何chages,

這個請大家幫忙。

對不起,語法錯誤。

+1

爲什麼要在單個列中存儲值列表?假設你被這個數據模型困住了,它是否總是逗號後面的一個空格,或者是否有幾個或其他空格,如製表符? –

+0

沒有每個逗號分隔的值在前端的單個下拉菜單中都有作用。我前端的角網格不接受空間或標籤空間。 –

回答

4

使用replace()

UPDATE incitable 
    SET name = REPLACE(name, ', ', ','); 

TRIM()刪除開頭空格和字符串的結尾,而不是空格在兩者之間。由於TRIM()可用,因此不需要使用LTRIM()RTRIM()(除非您對SQL Server有迷戀)。

注意:將值列表存儲在單個列中是一個非常糟糕的主意。 Oracle提供了許多其他解決方案,例如聯結表(SQLish存儲列表的方式),嵌套表,JSON格式以及無疑更多的方法。

+0

但它會使用像「sss,safa,aafa,agag,agga」這樣的值,它具有更多的子字符串數量。 –

+0

@ s.sathishkumar。 。 。它可以在字符串中使用任意數量的逗號。 –

相關問題