Ich bin Neuling zu Oracle und ich habe eine Anforderung, US-Street-Adresse von einer Zeichenfolge zu analysieren, habe ich einige Optionen mit regexp substr ausprobiert, aber gab mir nicht das gewünschte Ergebnis.Parsing Street Adresse Oracle und entfernen Sie unerwünschte Texte
Hier sind einige Beispiele aus Textzeichenfolge.
xyz 123 se stark st Anzug 401
xyx 123 39th ave ne 2. flr n-3
xyz 213 nebraska Mut Art und Weise e-1
Und sollte meine Ausgabe sein:
123 se stark st
123 39th ave ne
213 nebraska Mut Weg
My SQL bisher:
SELECT UPPER (
REGEXP_SUBSTR (REPLACE ('xyz 2551 38th ave ne tc 2', 'xyz '),
'((^[0-9]{1,9}+[ ]+[0-9]{1}[/]+[0-9]{1})|(^[0-9]+))'))
AS houseno,
TRIM (
UPPER (
REGEXP_SUBSTR (
REPLACE ('xyz 2551 38th ave ne tc 2', 'xyz '),
'[^0-9]+((1()st|1st)|(2()nd|2nd)|(3()rd|3rd)|([1234567890]+()th|[1234567890]+th)) +(ave(nue)?|st(reet)?|boulevard|blvd)[[:print:]]*|P(.)O(.)()+Box()[0-9]+|[a-z][[:print:]]*',
1,
1,
'i')))
AS street_addrerss,
UPPER (REPLACE ('xyz 2551 38th ave ne tc 2', 'xyz ')) AS orginal_text
FROM DUAL;
Vielen Dank im Voraus !!
Das klingt unfair. Es ist ein sehr schwieriges Problem, eine Adresse aus Zeichenketten zu extrahieren, wie du sie zeigst. Sie haben sie einem Neuling in Oracle gegeben, ohne Vorschläge, wie man sie lösen könnte. Wie soll man erkennen, was die Adresse ist und was ist der "unnötige Text"? Haben sie irgendwelche Regeln dafür gegeben? – mathguy
Die Anforderung besteht darin, die Straßenadresse aus einer Zeichenfolge zu extrahieren und diese Daten in Oracle DB zu laden. Sie sind nicht besorgt um die Adresszeile 2. – nissamps
Ich dachte, meine Frage war leicht zu verstehen, aber ich werde es noch einmal versuchen. Wie wissen Sie anhand Ihrer Eingabezeichenfolgen, wo die Straßenadresse (Zeile 1) beginnt und wo sie endet? Zum Beispiel: Sie können sagen "die Adresse beginnt an der ersten Ziffer in der Zeichenfolge." Meinetwegen; bedeutet das, dass Sie keine Ziffern im "Müll" vor der Adresse haben können? Je? OK, wenn das garantiert werden kann, ist das gut und nützlich. Wie bestimmen Sie dann, wo die Adresse ENDS und der verbleibende "Müll" beginnt? – mathguy