2017-01-13 5 views
0

Ich versuche, Oracle regexp_replace gut genug zu lernen, um einen in einer Tabelle gespeicherten Wert als kommagetrennte Zeichenfolge zu nehmen und das Komma-Zeichen durch eine einzige zu ändern Zitat gefolgt von einem Komma gefolgt von einem Leerzeichen gefolgt von einem einfachen Zitat.Verwenden von RTRIM oder REGEXP_REPLACE, um ein Komma durch ein Komma-Leerzeichen und ein einfaches Anführungszeichen zu ersetzen

Zum Beispiel das Feld (CourseListT) enthält natürlich Codes, die wie folgt aussehen:

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

ich möchte es aussehen dies wie:

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

begann ich mit Baby Schritte und gefunden Artikel # 25997057 hier, die mir gezeigt, wie Sie Leerzeichen einfügen. Also ich habe diese Arbeit:

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

Aber nichts, was ich tun werde mir erlauben, diese dummen einfache Anführungszeichen einzufügen.

Wäre es besser zu lernen RTRIM ersetzen? Könnte mir bitte jemand helfen, das zu erreichen?

Danke Schelly

Antwort

2

Sie einfach mit replace tun können. Verwenden Sie doppelte einfache Anführungszeichen, um ein einfaches Anführungszeichen zu umgehen.

+1

Ich bearbeitet für die Lesbarkeit, sondern auch ein Leerzeichen nach dem Komma in der "ersetzen-mit" Zeichenfolge, basierend auf der OP-Anforderung. – mathguy

+0

Vielen Dank! Also entgeht ein einzelnes Zitat einem anderen einfachen Zitat? Ich schätze Ihre Hilfe! – DataBased

Verwandte Themen