2017-06-01 37 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。 。 。它可以在字符串中使用任意数量的逗号。 –

相关问题