PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Warum ist es am besten, eine Telefonnummer als Zeichenfolge statt als Ganzzahl zu speichern?

Telefonnummern sind Zeichenfolgen aus Ziffern, sie sind keine ganzen Zahlen.

Betrachten Sie zum Beispiel:

  • Die Angabe einer Telefonnummer in einer anderen Basis würde sie bedeutungslos machen

  • Das Addieren oder Multiplizieren von zwei Telefonnummern oder jede mathematische Operation mit einer Telefonnummer ist bedeutungslos. Das Ergebnis ist keine andere Telefonnummer (außer zufällig)

  • Telefonnummern sollen "wie sie sind" in ein angeschlossenes Gerät eingegeben werden.

  • Telefonnummern dürfen führende Nullen haben.

  • Manipulationen von Telefonnummern, wie das Hinzufügen einer Vorwahl, sind String-Operationen.

Die Speicherung der String-Version der Telefonnummer macht dies klar und eindeutig.

Geschichte:Bei alten impulscodierten Wahlsystemen wurde der Code für jede Ziffer in einer Telefonnummer mit der gleichen Anzahl von Impulsen wie die Ziffer gesendet (oder 10 Impulse für "0"). Das ist vielleicht der Grund, warum wir immer noch Ziffern verwenden, um die Teile einer Telefonnummer darzustellen. Siehe http://en.wikipedia.org/wiki/Pulse_dialing