2017-05-04 2 views
0

Ich habe eine Liste der Nachnamen, die Variationen wie diese haben können -> DOE, JR., DO. Was ich brauche, ist eine Postgres-Mustervergleichs- oder Teilzeichenkettenfunktion, die den DO vom Nachnamen trennt und diese in eine separate Spalte bringt. Wenn das Muster jedoch wie folgt ist, DOE, JR. Ich will nicht, dass diese Namenssuffixe von Namen getrennt werden, nur professionelle Titel, die ich wie MD, DDS, DMD oder DO auflisten muss. Jemand, mit dem ich arbeite, schlug vor, dass ich etwas wie diesen -> Teilstring (Nachname, '[MD, DDS, DMD, DO, usw.] $') Benutze, aber das funktioniert nicht.Regular Expression/Substring-Funktion in Postgresql

select substring('.do' FROM last_name) AS license from table 
+0

Er könnte diese vorgeschlagen haben '' $ (MD | DDS | DMD | | DO etc.). Probieren Sie es aus und lassen Sie es mich wissen. – Rahul

Antwort

0

Hier ist ein Weg, um die Lizenz (abzüglich allfälliger nachfolgende Leerzeichen) zu erhalten:

select regexp_matches(last_name, '(MD|DDS|DMD|DO|etc)\s*$') AS license from table;