Was ist die längste weltweit mögliche Telefonnummer, die ich in SQL varchar(length)
für Telefone berücksichtigen sollte?
Überlegungen:
- + für Ländercode
- () für Vorwahl
- x + 6 Zahlen für die Erweiterungserweiterung (also machen Sie es 8 {Leerzeichen})
- Leerzeichen zwischen Gruppen (dh in amerikanischen Telefonen + x xxx xxx xxxx = 3 Leerzeichen)
- Hier brauche ich deine Hilfe, ich möchte, dass sie weltweit ist
Bedenken Sie, dass ich in meinem speziellen Fall jetzt keine Karten usw. benötige. Die Nummer beginnt mit der Landesvorwahl und endet mit der Nebenstelle, es werden keine Kommentare zu Fax / Telefon usw. oder Telefonkarten benötigt.
sql-server
validation
database-design
data-modeling
phone-number
Shimmy Weitzhandler
quelle
quelle
Antworten:
Wenn man bedenkt, dass es keinen Overhead-Unterschied zwischen einem Varchar (30) und einem Varchar (100) gibt, wenn man jeweils nur 20 Zeichen speichert, ist man vorsichtig und macht es einfach zu 50.
quelle
Angenommen, Sie speichern keine Dinge wie '+', '()', '-', Leerzeichen und Was-haben-Sie (und warum sollten Sie, es handelt sich um Präsentationsprobleme, die je nach lokalen Gepflogenheiten und Netzwerkverteilungen variieren würden Wie auch immer), die ITU-T-Empfehlung E.164 für das internationale Telefonnetz (über das die meisten nationalen Netze verbunden sind) legt fest, dass die gesamte Nummer (einschließlich der Landesvorwahl, jedoch ohne Präfixe wie das zum Wählen erforderliche Präfix für internationale Anrufe) ; Dies ist von Land zu Land unterschiedlich und enthält keine Suffixe (z. B. Nebenstellennummern). Sie darf höchstens 15 Zeichen lang sein .
Anrufpräfixe hängen vom Anrufer ab, nicht vom Angerufenen, und sollten daher (unter vielen Umständen) nicht mit einer Telefonnummer gespeichert werden. Wenn die Datenbank Daten für ein persönliches Adressbuch speichert (in diesem Fall ist das Speichern des Präfixes für internationale Anrufe sinnvoll), sind die längsten internationalen Präfixe, mit denen Sie sich befassen müssten ( laut Wikipedia ), derzeit 5-stellig in Finnland.
Bei den Suffixen unterstützen einige TK-Anlagen bis zu 11-stellige Nebenstellen ( laut Wikipedia ). Da Nebenstellennummern Teil eines anderen Wählplans sind (Nebenstellenanlagen sind von den Vermittlungsstellen der Telefongesellschaften getrennt), müssen Nebenstellennummern von Telefonnummern unterschieden werden können, entweder mit einem Trennzeichen oder indem sie in einer anderen Spalte gespeichert werden.
quelle
15
Zeichen. Wenn Präfix und Suffix gespeichert werden, lautet die untere Zeile: 5 + 15 + 11 =31
.In der GSM-Spezifikation 3GPP TS 11.11 sind im MSISDN EF (6F40) 10 Bytes für das Wählen von Nummern reserviert. Da dies die GSM-Darstellung einer Telefonnummer ist und deren Verwendung durch Knabbern vertauscht wird (und es immer die Möglichkeit von Klammern gibt), sollten 22 Datenzeichen ausreichend sein.
Nach meiner Erfahrung gibt es nur einen Fall von offenen / geschlossenen Klammern, das ist meine Begründung für das oben Gesagte.
quelle
Es ist ein bisschen schlimmer, ich benutze eine Visitenkarte für internationale Anrufe, also die lokale Nummer in den USA + Kontonummer (6 Ziffern) + PIN (4 Ziffern) + "Pause" + was Sie oben beschrieben haben.
Ich vermute, dass es andere Fälle geben könnte
quelle