Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#20

AW: Zeichen bei SELECT ignorieren

  Alt 31. Okt 2013, 08:14
Namen sind nicht eindeutig, Telefonnummern schon (eher).

Ich sagt bereits, das dein Vorschlag als Notbehelft zu gebrauchen ist. Aber nur, wenn die Telefonnummern geeignet abgelegt ist. Und was ist morgen?

Konkret: Dein Vorschlag wird umgesetzt und alle sind zufrieden, denn er funktioniert für die aktuelle Problemstellung: Suche nach vollständiger(!) Telefonummer über die derzeit gespeicherten Nummern (die z.B. nach E.123 abgelegt sind).

Morgen werden jedoch die Outlook-Kontakte importiert und dort wird die Telefonnummer nach dem MS-Standard abgelegt, also +49(30)12345678 (in der DB sind sie jedoch im Format (030)12345678 abgelegt. Ja und dann ruft Hans Müller an, seine Nummer 03012345678 erscheint im Display und deine Suche findet -nichts-. Der Sachbearbeiter kann den Kunden nicht zuordnen und legt ihn im schlimmsten Fall neu an.

Irgendwann wird dann vergessen, das die Lösung erstens nicht immer das korrekte Ergebnis anzeigt, zweitens nur taugt, wenn man die zu suchende Telefonnummer vollständig angibt und drittens doch nur mit einem bestimme Format funktioniert, also eben z.B. nur E.123, aber nicht mit anderen Standards. Und spätestens dann ist die Suche keine Suche sondern ein Glücksspiel.

Deine Lösung zeigt also nicht nur zu viele an (was zu verschmerzen wäre), sondern ist leider unzuverlässig. Und damit imho so nicht zu gebrauchen.

PS: Mein Beispiel funktioniert auch, wenn die Nummern nur im MS-Format abgelegt sind, also mit internationaler Vorwahl, jedoch ohne führende Null in der Ortsvorwahl. Denn es gibt generell mindestens vier unterschiedliche Formatgruppen, die hinsichtlich der einfache Suche disjunkt sind:
Ortsvorwahl: (30) vs. (030).
Landeskennzahl: +49 vs. 0049 vs. ganz weglassen.

Wie Du siehst, wird es nie zuverlässig funktionieren, so elegant und kurz dein Vorschlag auch ist.

Ein Suchalgorithmus muss robust gegen alle Kombinationen sein, d.h. er muss die gespeicherten und die Such-Telefonnummer in LKZ, OnKZ und Rufnummer unterteilen und dann vergleichen.

Richtig richtig macht man es imho nur dann, wenn die Telefonnummern normalisiert abgelegt werden. Alles andere ist Murks.
  Mit Zitat antworten Zitat