Rolf B: Telefonnummern in Adressdatenbank

Beitrag lesen

Hallo Otto,

ich würde Dir empfehlen, eine Zusatzspalte hinzuzufügen, in der alles außer den Ziffern entfernt ist.

Das ist natürlich nicht so trivial. Wenn Du Nummern wie +49301234567 zusammen mit (030)1234567 hast, musst Du genauer analysieren, ob die Sonderzeichen besondere Bedeutungen mitbringen. Und Du musst dann für Dich entscheiden, ob Du alle inländischen Nummern im internationalen Format speichern willst, oder ob Du ausländische Nummern nicht benötigst (ich plädiere für ersteres).

Ob das eine computed column sein kann, wie die Formel aussieht, ob Du die Spalte persistent definieren musst oder ob sie virtuell bleiben kann, und wie Du einen Index drauflegst damit sich die Sache auch lohnt, das hängt vom verwendeten Datenbankserver ab.

Wenn es keine computed column sein kann, solltest Du einen Trigger hinzufügen, der bei INSERT und UPDATE Operationen das Nummernsuchfeld für die betroffene Row neu aufbaut.

Welches DBMS verwendest Du?

Rolf

--
sumpsi - posui - obstruxi