Phone Numbers Format

rodrigo412

Benutzer
Beiträge
5
Hello i need to format lots of phone numbers in which the content would be like this

Festnetz|0202|528 72743
|040|987 44 10 oder 0170 465 45 33
41|(0)44|777 82 56
02273/54382|02273/5669344|Büro (these are two different numbers)
49|6151|13099-25

And I need it like this

Country code and then the number (notice the blanks)
+49 234 0987656

I am already using this expression
REGEXP_REPLACE(regexp_replace(REGEXP_REPLACE(concat(d.BUSINESS_PHONE),('[|]'),' '),('[-]'),' '),(' {2,}'),' ')

Thanks in advance
Rodrigo
 
Werbung:
Du solltest dir eine Funktion schreiben die erkennt was möglich ist. In der Funktion prüfst du, ob die Rufnummer mit einer Landesvorwahl beginnt und wenn ja, speicherst du sie getrennt ab. Dann Netzvorwahl usw.

Am Ende baust du deinen Wunsch-String aus dem Ergebnis frisch zusammen. Es gibt keine Funktion die ein solches Chaos nachträglich korrigiert. Das muss man schon selber sauber machen.
 
I got this:

REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE(regexp_replace(REGEXP_REPLACE(concat(d.BUSINESS_PHONE),('[/]'),' '),('[)]'),' '),('[(]'),' '),('[|]'),' '),('[-]'),' '),(' {2,}'),' ')

and then I could join it with something like this

case
when business_phone <> '||' and b.country_business = 'de'
then regexp_replace(rtrim(ltrim(regexp_replace(business_phone, '\D',' '))),'^0*+4+\d{1}+\s+0*','+49 ')
when business_phone <> '||' and b.country_business = 'ch'
then regexp_replace(rtrim(ltrim(regexp_replace(business_phone, '\D',' '))),'^0*+4+\d{1}+\s+0*','+41 ')
when business_phone <> '||' and b.country_business = 'at'
then regexp_replace(rtrim(ltrim(regexp_replace(business_phone, '\D',' '))),'^0*+4+\d{1}+\s+0*','+43 ')
end as phone

but I still got difficulties with the double phone numbers stored as one value
Could you help me with this?
 
Hello i need to format lots of phone numbers in which the content would be like this

Festnetz|0202|528 72743
|040|987 44 10 oder 0170 465 45 33
41|(0)44|777 82 56
02273/54382|02273/5669344|Büro (these are two different numbers)
49|6151|13099-25

And I need it like this

Country code and then the number (notice the blanks)
+49 234 0987656

obviously you are able to speak german ...

wie willst Du aus dem gezeigten Murks denn die dann gezeigte Telefonnummer ermitteln? Die '987656' taucht, nach grober Sichtung, im ersten Teil nicht auf.

Ansonsten bin ich da auf Seite von @ukulele

Andreas
 
Am besten du überführst erstmal alles in saubere Spalten für Land, Netz und Rufnummer (vielleicht noch Durchwahl). Das kannst du mit einer selbst gebauten Funktion machen oder du machst es Schrittweise in dem du die häufigen Formate erkennst und übersetzt. Irgendwann wird der Rest immer kleiner, hoffentlich eine überschaubare Menge.
 
obviously you are able to speak german ...

wie willst Du aus dem gezeigten Murks denn die dann gezeigte Telefonnummer ermitteln? Die '987656' taucht, nach grober Sichtung, im ersten Teil nicht auf.

Ansonsten bin ich da auf Seite von @ukulele

Andreas

Hallo Andreas, ich moechte es mir so anzeigen lassen(Landvorwahl,Netz und Nummer)
+43 123 24398572
Die 987656 war nur ein beispiel
Beste Gruesse
Rodrigo
 
Werbung:
Am besten du überführst erstmal alles in saubere Spalten für Land, Netz und Rufnummer (vielleicht noch Durchwahl). Das kannst du mit einer selbst gebauten Funktion machen oder du machst es Schrittweise in dem du die häufigen Formate erkennst und übersetzt. Irgendwann wird der Rest immer kleiner, hoffentlich eine überschaubare Menge.

Danke dir, es wird anscheinend viel arbeit sein.
Beste Gruesse
Rodrigo
 
Zurück
Oben