Apa nomor telepon sedunia terpanjang yang mungkin harus saya pertimbangkan dalam SQL varchar(length)
untuk telepon.
pertimbangan:
- + untuk kode negara
- () untuk kode area
- x + 6 angka untuk ekstensi Ekstensi (jadi buatlah 8 {spasi})
- spasi antar grup (yaitu di ponsel Amerika + x xxx xxx xxxx = 3 spasi)
- Di sinilah saya butuh bantuan Anda, saya ingin itu ada di seluruh dunia
Pertimbangkan bahwa dalam kasus khusus saya sekarang, saya tidak perlu kartu dll nomor dimulai dengan kode negara dan diakhiri dengan ekstensi, tidak ada Fax / Telepon dll komentar, atau menelepon barang-barang kartu diperlukan.
sql-server
validation
database-design
data-modeling
phone-number
Shimmy Weitzhandler
sumber
sumber
Jawaban:
Yah mengingat tidak ada perbedaan overhead antara varchar (30) dan varchar (100) jika Anda hanya menyimpan 20 karakter di masing-masing, sesat di sisi hati-hati dan hanya membuatnya 50.
sumber
Dengan asumsi Anda tidak menyimpan hal-hal seperti '+', '()', '-', spasi dan apa-apa (dan mengapa Anda, itu adalah masalah presentasi yang akan berbeda-beda tergantung pada kebiasaan setempat dan distribusi jaringan Bagaimanapun), rekomendasi ITU-T E.164 untuk jaringan telepon internasional (yang sebagian besar jaringan nasional terhubung melalui) menentukan bahwa seluruh nomor (termasuk kode negara, tetapi tidak termasuk awalan seperti awalan panggilan internasional yang diperlukan untuk panggilan keluar, yang bervariasi dari satu negara ke negara, atau termasuk sufiks, seperti nomor ekstensi PBX) paling banyak 15 karakter .
Awalan panggilan tergantung pada penelepon, bukan callee, dan karenanya tidak (dalam banyak keadaan) harus disimpan dengan nomor telepon. Jika database menyimpan data untuk buku alamat pribadi (dalam hal ini menyimpan awalan panggilan internasional masuk akal), awalan internasional terpanjang yang harus Anda tangani ( menurut Wikipedia ) saat ini 5 digit, di Finlandia.
Sedangkan untuk sufiks, beberapa PBX mendukung hingga 11 digit ekstensi (sekali lagi, menurut Wikipedia ). Karena nomor ekstensi PBX adalah bagian dari rencana panggilan yang berbeda (PBX terpisah dari pertukaran perusahaan telepon), nomor ekstensi harus dapat dibedakan dari nomor telepon, baik dengan karakter pemisah atau dengan menyimpannya dalam kolom yang berbeda.
sumber
15
karakter. Jika menyimpan awalan dan sufiks, intinya adalah: 5 + 15 + 11 =31
.Dalam spesifikasi GSM 3GPP TS 11.11 , ada 10 byte yang disisihkan dalam EF MSISDN (6F40) untuk 'nomor panggilan'. Karena ini adalah representasi GSM dari nomor telepon, dan penggunaannya adalah nibble swapping, (dan selalu ada kemungkinan tanda kurung) 22 karakter data harus banyak.
Dalam pengalaman saya, hanya ada satu contoh tanda kurung buka / tutup, itulah alasan saya untuk hal di atas.
sumber
Ini sedikit lebih buruk, saya menggunakan kartu panggil untuk panggilan internasional, jadi nomor lokalnya di AS + akun # (6 digit) + pin (4 digit) + "jeda" + apa yang Anda jelaskan di atas.
Saya menduga mungkin ada kasus lain
sumber