k1fs Geschrieben 22. September 2011 Teilen Geschrieben 22. September 2011 Hallo, ich habe mit folgendem Problemchen zu kämpfen: Ich habe eine Tabelle "phonenumber" wo Telefonnummern gespeichert sind im Format: "0049 123456" Eingehende Calls sollen mit diesen Nummern verglichen werden. D.h. wenn Nummern wie z.b. 030 123456, 0176 123456 einkommen, dann muss ich diese ändern auf 004930 123456 bzw. 00491756 123456 ändern um den Vergleich durchzuführen. Aber wie kann ich diese Nummern im meinem Where Teil auf mein Format angleichen? Hier der bisherige pseudo code: select phonenumber from WhiteList where phonenumber = phonenumber_call OR phonenumber = * * an dieser Stelle müsste ich abfragen ob die nummer meinem Format entspricht und wenn nicht die erste Null abschneiden und durch mein 0049 erstetzen aber ich weiß eben nicht wie. Vielen Dank im Voraus! k1fs Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pixie Geschrieben 22. September 2011 Teilen Geschrieben 22. September 2011 Warum verrgleichst Du nicht einfach die Leerzeichen-bereinigten Strings und klemmst halt eine 0 davor? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
k1fs Geschrieben 22. September 2011 Autor Teilen Geschrieben 22. September 2011 Eine Null reicht ja eben nicht. Bzw. In den Nummern sind auch keine Leerzeichen, die habe ich nur eingesetzt damit es besser ersichtlich ist. Es muss defenitiv eine 0049 vor jeder nummer stehen, es sei denn die Nummer ist schon im Format 00XX123456 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pixie Geschrieben 22. September 2011 Teilen Geschrieben 22. September 2011 Hmmm... mit CASE die einzelenen konstellationen abklappern (wie in eienr if-Anweisung)... bei LIKE '00%' nichts machen, sonst den String ab dem zweiten Zeichen verwenden und die 0049 davorsetzen... Soll das nur für den Vergleich so vorliegen oder auch als Änderung in die DB geschrieben werden? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
k1fs Geschrieben 22. September 2011 Autor Teilen Geschrieben 22. September 2011 Nur als Vergleich mit der Tabelle, keine Überschreibung ect. An Case/IF habe ich auch schon gedacht, aber mein Kollege meinte ohne und wie gesagt im where Teil muss es stehen und das verwirrt mich total... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schrotty Geschrieben 22. September 2011 Teilen Geschrieben 22. September 2011 Wären Reguläre ausdrücke eine Hilfe? WHERE regexp_replace(telefonnummer, '^0','0049') = ... Or telefonnummer = ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.