Hallo Forum Mitglieder !
sitze vor einer Aufgabe die mir etwas schwierig erscheint. Vielleicht hat ja jemand eine Idee. Möchte über eine SQL-Abfrage ein Textfeld aktualisieren. In einem Datenbankfeld sind Telefonnummern hinterlegt, z.B.
Name Telefonnr
ABC 08261-930129
DEF 08261-930-161
GHI 00335-76723630
JKL 00335-7672-3630
MNO 0173-3054668
PQR 08261/930-144
STU 08261 - 930111
Nun ist mein Ziel, dass alle Telefonnummern nach dieser Aktualisierungsabfrage einheitlich erfasst sind. Hierfür müsste ich in Worten folgende Abfragen durchführen:
1. Ersetze alle '/' durch ein '-'
2. Nimm alle Leerstellen raus
3. Sollte es einen zweiten '-' geben, muss dieser gelöscht werden, außer bei
internationalen Ländern.
Ergebnis dann also so:
Ortsgespräche: 07361-920149
Ferngespräche: 02861-603266
Internationale Gespräche: 0033-54675-9699
Mobilgespräche: 0175-2065854
Habe die Frage auch bereits in einem Access Forum gestellt. Habe dann folgenden Befehl gesagt bekommen:
UPDATE test SET test.Telefon = Replace(Replace(Replace(Replace(Replace([Telefon],"/","-")," ",""),"-","#",1,1),"-",""),"#","-")
WHERE (((test.Telefon)<>"")) and [UEkunde]="SCHUMAG AG";
Dieser funktioniert zwar in Access in einer Testumgebung, aber nicht in SQL. Grund ist die Replaceanweisung Replace ("-","#",1,1).
Wißt Ihr hier weiter ?
Danke und Gruß Daniel
sitze vor einer Aufgabe die mir etwas schwierig erscheint. Vielleicht hat ja jemand eine Idee. Möchte über eine SQL-Abfrage ein Textfeld aktualisieren. In einem Datenbankfeld sind Telefonnummern hinterlegt, z.B.
Name Telefonnr
ABC 08261-930129
DEF 08261-930-161
GHI 00335-76723630
JKL 00335-7672-3630
MNO 0173-3054668
PQR 08261/930-144
STU 08261 - 930111
Nun ist mein Ziel, dass alle Telefonnummern nach dieser Aktualisierungsabfrage einheitlich erfasst sind. Hierfür müsste ich in Worten folgende Abfragen durchführen:
1. Ersetze alle '/' durch ein '-'
2. Nimm alle Leerstellen raus
3. Sollte es einen zweiten '-' geben, muss dieser gelöscht werden, außer bei
internationalen Ländern.
Ergebnis dann also so:
Ortsgespräche: 07361-920149
Ferngespräche: 02861-603266
Internationale Gespräche: 0033-54675-9699
Mobilgespräche: 0175-2065854
Habe die Frage auch bereits in einem Access Forum gestellt. Habe dann folgenden Befehl gesagt bekommen:
UPDATE test SET test.Telefon = Replace(Replace(Replace(Replace(Replace([Telefon],"/","-")," ",""),"-","#",1,1),"-",""),"#","-")
WHERE (((test.Telefon)<>"")) and [UEkunde]="SCHUMAG AG";
Dieser funktioniert zwar in Access in einer Testumgebung, aber nicht in SQL. Grund ist die Replaceanweisung Replace ("-","#",1,1).
Wißt Ihr hier weiter ?
Danke und Gruß Daniel
Comment