sql >> Databasteknik >  >> RDS >> PostgreSQL

Varför är det bäst att lagra ett telefonnummer som en sträng kontra heltal?

Telefonnummer är strängar med siffror, de är inte heltal.

Tänk till exempel:

  • Att uttrycka ett telefonnummer i en annan bas skulle göra det meningslöst

  • Att lägga till eller multiplicera två telefonnummer tillsammans, eller någon matematisk operation på ett telefonnummer, är meningslöst. Resultatet är inte ett annat telefonnummer (förutom av en slump)

  • Telefonnummer är avsedda att matas in "i befintligt skick" i en ansluten enhet.

  • Telefonnummer kan ha inledande nollor.

  • Manipulationer av telefonnummer, som att lägga till ett riktnummer, är strängoperationer.

Att lagra strängversionen av telefonnumret gör detta tydligt och entydigt.

Historik:På gamla pulskodade uppringningssystem skickades koden för varje siffra i ett telefonnummer som samma antal pulser som siffran (eller 10 pulser för "0"). Det kan vara därför vi fortfarande använder siffror för att representera delarna av ett telefonnummer. Se http://en.wikipedia.org/wiki/Pulse_dialing



  1. MySQL casta/konvertera automatiskt en sträng till ett nummer?

  2. Förstå Big Data Analytics

  3. Hur sammanfogar du två tabeller på ett främmande nyckelfält med django ORM?

  4. Databaskryptering:De tre typerna och varför du behöver dem