2017-09-06 2 views
0

Ich wurde vorgeschlagen, REGEXP in postgresql zu verwenden, um diese Spalte zu extrahieren. Ich möchte den Wert innerhalb der Klammer erhalten, die 25.000 ist, wo der Wert innerhalb dieser Spalte 15 Arten von Sorten haben wird.Regulärer Ausdruck mit offener Klammer

Description 
TO-CANADA/POSTCARD (Tj 25.000)/TCN-39dgr7e0e41951 

habe mein Bestes versucht, die regexp mit dieser Abfrage

select regexp_matches(description,'TO-CANADA/') from aa.bb limit 2; 

jedoch zu verwenden, ist die Ausgabe {-}

Wie kann ich den Wert innerhalb dieser Klammer extrahieren?

+0

Der Wert in den Klammern ist "Tj 25,000". Warum ignorierst du den ersten Teil? –

+0

Ja, weil ich nur den Wert darin brauche, möchte ich einige Analysen zu den Distributionen mit diesem Wert machen. Dieser Wert stellt den tatsächlich ausgegebenen Betrag dar. Wenn ich das bekomme, würde ich eine Verteilung @GordonLinoff plotten – user3292755

Antwort

1

Bitte versuchen Sie diesen

# select (regexp_matches(
    'TO-CANADA/POSTCARD (Tj 25.000)/TCN-39dgr7e0e41951', 
    '\(.*? ([0-9\.]+)\)'))[1]; 
regexp_matches 
--------------- 
25.000 
(1 row)