使用 RTRIM 或 REGEXP_REPLACE 将逗号替换为逗号 space 和单引号

Using RTRIM or REGEXP_REPLACE to replace a comma with a comma space and single quote

我正在尝试很好地学习 Oracle regexp_replace,以便将存储在 table 中的值作为逗号分隔的字符串,并将逗号字符更改为单引号后跟一个逗号后跟 space,后跟单引号。

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

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

我希望它看起来像这样:

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

我从小步骤开始,发现此处的文章 #25997057 向我展示了如何插入 spaces。所以我有这个工作:

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

但是我做的任何事情都不允许我插入那些愚蠢的单引号。

学习RTRIM替换会不会更好?有人可以帮我学习如何完成这个吗?

谢谢 雪莉

您只需使用 replace 即可。使用双 single-quotes 转义 single-quote.

select '''' || replace(CourseListT, ',', ''', ''') || '''' 
from gradreq