En supposant que vous ne stockez pas des éléments tels que le '+', '()', '-', les espaces et autres détails (et pourquoi le feriez-vous, ce sont des préoccupations de présentation qui varieraient en fonction des coutumes locales et des réseaux de distribution de toute façon), la recommandation de l'UIT-T E.164 pour le réseau téléphonique international (auquel la plupart des réseaux nationaux sont connectés) spécifie que le numéro complet (y compris le code pays, mais pas y compris les préfixes tels que le préfixe d'appel international nécessaire pour faire un appel, qui varie d'un pays à l'autre, ni y compris des suffixes, tels que les numéros d'extension de PBX) doit être d'au plus 15 caractères.
Les préfixes d'appel dépendent de l'appelant, et non de l'appelé, et ne devraient donc pas (dans de nombreuses circonstances) être stockés avec un numéro de téléphone. Si la base de données stocke des données pour un carnet d'adresses personnel (auquel cas le stockage du préfixe d'appel international a du sens), les préfixes internationaux les plus longs avec lesquels vous auriez à traiter (selon Wikipedia) sont actuellement de 5 chiffres, en Finlande.
Quant aux suffixes, certains PBX prennent en charge jusqu'à 11 chiffres d'extensions (encore une fois, selon Wikipedia). Étant donné que les numéros d'extension de PBX font partie d'un plan d'appel différent (les PBX sont séparés des échanges des sociétés de téléphonie), les numéros d'extension doivent être distinguables des numéros de téléphone, soit avec un caractère séparateur, soit en les stockant dans une colonne différente.
1 votes
Je pense que convertir le nombre en une valeur longue serait une bonne solution, et cela ne nécessitera que 64 bits d'espace. Je l'utilise depuis des années, sans problèmes
4 votes
15 chiffres : fr.wikipedia.org/wiki/Plan_de_numérotation_téléphonique
1 votes
@MattDiPasquale a déjà mentionné ici, mais merci !