使用RTRIM或REGEXP_REPLACE用逗号空格和单引号替换逗号

时间:2017-01-13 18:28:25

标签: sql regex oracle regexp-replace

我正在尝试学习Oracle regexp_replace,以便将存储在表中的值作为逗号分隔的字符串,并使用单引号后跟逗号后跟空格,后跟单引号更改逗号字符

例如,字段(CourseListT)包含如下所示的课程代码:

PEOE100,H003,H102,L001,L100,L110,M005,M020,M130

我希望它看起来像这样:

'PEOE100','H003','H102','L001','L100','L110','M005','M020','M130'

我从婴儿步骤开始,发现文章#25997057在这里向我展示了如何插入空格。所以我有这个工作:

SELECT 
  regexp_replace(gr.CourseListT,'([a-zA-Z0-9_]+)(,?)','  \1\2')
FROM gradreq gr
WHERE gr.gradreqsetid = 326
AND gr.SubjectArea = 'Electives'

但我所做的一切都不允许我插入那些愚蠢的单引号。

学习RTRIM取代会更好吗?有人可以帮我学习如何实现这个目标吗?

谢谢 Schelly

1 个答案:

答案 0 :(得分:2)

您只需使用replace即可。使用双引号来转义单引号。

select '''' || replace(CourseListT, ',', ''', ''') || '''' 
from gradreq
相关问题