[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jun 2001
    Beiträge
    2.044

    Telefonnr Suche

    Moin Moin,
    ich soll eine Telefonnr in einer DB suchen.
    gespeichert ist diese Nr. mal mit *blank
    01234 56 78 12
    mal mit /
    01234/4578 12
    mal mit -
    und so weiter, und so weiter..
    (alles was man in ein alpha Feld reinkrigt, ist da auch drinn !!

    kann ich mit einer view/ LF / Funktion ... das Feld
    sehr performant vom 'Müll' befreien um via gegebener Telefonnr schnell die Adresse zu finden ?

    dachte erst, jede gegebene Ziffer mit '%' zu trennen, abwer das ist weder schnell noch 100 % richtig

    Danke
    Robi

  2. #2
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    Hallo Robi,
    und die +49 am Anfang, die bestimmt auch jemand eingegeben hat auch nicht vergessen.
    Leider habe ich keinen gescheiten Tip außer evtl. ein zweites von Müll bereinigtes Feld in die Datei aufzunehmen. Dies wäre immerhin performant zum Suchen.
    Gruß, Christian

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... da geht per View und per function nix am full table scan vorbei, dessen Dauer sich halt in erster Nähe proportional zur Datenmenge und umgekehrt proportional zum Preis der AS400 verhält.
    Das einzige, was dem nachhaltig auf die Sprünge verhilft ist eine ordentliche Datenbasis in numerischen Feldern mit entsprechenden Prüfungen, mit Huddelfeldern kommt man da nicht weiter. Dahin kann man auch ohne Änderung der Applikation kommen, indem man einfach drei ordentliche Felder (Ländervorwahl, nationale Vorwahl, Telefonnummer) hinzufügt, die man einmal im Batch füllt und danach per Trigger mitpflegt; lässt sich der Input nicht eindeutig interpretieren, weil ein Benutzer aetsch eintippt, schickt der Trigger eine Escape Message.

    D*B

    Zitat Zitat von Robi Beitrag anzeigen
    Moin Moin,
    ich soll eine Telefonnr in einer DB suchen.
    gespeichert ist diese Nr. mal mit *blank
    01234 56 78 12
    mal mit /
    01234/4578 12
    mal mit -
    und so weiter, und so weiter..
    (alles was man in ein alpha Feld reinkrigt, ist da auch drinn !!

    kann ich mit einer view/ LF / Funktion ... das Feld
    sehr performant vom 'Müll' befreien um via gegebener Telefonnr schnell die Adresse zu finden ?

    dachte erst, jede gegebene Ziffer mit '%' zu trennen, abwer das ist weder schnell noch 100 % richtig

    Danke
    Robi
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #4
    Registriert seit
    Mar 2005
    Beiträge
    74
    Ich habe hierfür eine SQL-Funktion erstellt, die eine unformartierte Rufnummer entgegennimmt und eine Rufnummer ohne Leerstellen und Sonderzeichen zurückgibt:

    + 49 1234/4564 - 123
    ergibt
    4912344564123

    Hiermit lässt sich dann sehr gut mit LIKE suchen:

    Code:
    NormTelNr(kdntel) LIKE "%123%"
    Das geht eigentlich auch sehr schnell.

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Aber nur bei ein paar Hundert oder wenigen Tausend Sätzen.
    Mach das mal mit 100.000 oder mehr.
    Der like zwingt zu einem Tablescan.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Jun 2001
    Beiträge
    2.044

    na ja

    bei 19 Mio Adressen ...
    Wir haben uns für eine seperate Datei mit 'ordentlichen ' Tel.Nr entschieden
    Robi

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das ist auch besser so, Dieters Hinweis mit einem Trigger erleichtert das manchmal ohne die bestehende Anwendung nennenswert anpassen zu müssen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Suche Software f. Instandhaltung
    By Dominik_Meyer in forum NEWSboard Server Software
    Antworten: 0
    Letzter Beitrag: 24-11-06, 07:06
  2. Suche IBM INFO-WINDOWS 3487.
    By takeoff/400 in forum NEWSboard Server & Hardware Markt
    Antworten: 2
    Letzter Beitrag: 31-07-06, 18:17
  3. Suche Finanzbuchhaltung
    By TARASIK in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 21-07-06, 10:35
  4. Suche Liste Ersatzoperatoren im CL
    By kuempi von stein in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 19-07-06, 14:34
  5. Suche Platten 6717
    By Peet in forum NEWSboard Server & Hardware Markt
    Antworten: 2
    Letzter Beitrag: 02-05-06, 08:08

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •