我正在尝试学习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
答案 0 :(得分:2)
您只需使用replace
即可。使用双引号来转义单引号。
select '''' || replace(CourseListT, ',', ''', ''') || ''''
from gradreq