Ich habe den folgenden Ausdruck: 15-JUL-16,20-JUL-16,20-JUL-16,30-JUL-16
in einer meiner Spalten.Sql Orcle: Regexp_substr
Ich habe erfolgreich SUBSTR(REGEXP_SUBSTR(base.systemdate, '.+,'), 1, 9)
verwendet, um 15-JUL-16
(Ausdruck bis zum ersten Komma) aus dem Ausdruck zu erhalten.
Aber ich zur Hölle kann nicht herausfinden, wie man 30-JUL-16
(der letzte Ausdruck nach dem letzten Komma) bekommen.
Gibt es eine Möglichkeit, REGEXP_SUBSTR
zu verwenden, um das zu bekommen? Und da sind wir schon dabei.
Gibt es eine gute Möglichkeit, nur REGEXP_SUBSTR
zu verwenden, um 15-JUL-16
ohne Komma zu erhalten? Weil ich den zweiten SUBSTR verwende, um das Komma loszuwerden, damit ich es mit dem Datenformat kompatibel machen kann.
Speichern Sie Daten nicht als durch Komma getrennte Elemente, sondern weisen Sie einen Wert pro Spalte/Zeile auf. – jarlh
Sie suchen nach einer durch Kommas getrennten Zeichenfolge. Diese Frage wurde schon oft gestellt und beantwortet - einfach googeln nach "Oracle split csv" oder so. – mathguy
Vielen Dank für den Vorschlag, aber ich kann nicht kontrollieren, wie Daten in unserem Data Warehouse gespeichert werden. Ich arbeite nur mit dem, was ich bekomme. Aber um meine Frage zu wiederholen. Wie kann ich SUBSTR (REGEXP_SUBSTR (base.systemdate, '. +,'), 1, 9) um REGEXP_SUBSTR ohne den zusätzlichen SUBSTR nur zu verwenden, um das erste Datum vor dem ersten Komma ohne das Komma zu erhalten? –