Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Quel type de données doit être utilisé pour stocker les numéros de téléphone dans SQL Server 2005 ?

Est-ce que cela inclut :

  • Numéros internationaux ?
  • Extensions ?
  • D'autres informations en plus du nombre réel (comme "demander Bobby") ?

Si tout cela est non, j'utiliserais un champ de 10 caractères et supprimerais toutes les données non numériques. Si le premier est oui et les deux autres non, j'utiliserais deux champs varchar(50), un pour l'entrée d'origine et un avec toutes les données non numériques rayées et utilisées pour l'indexation. Si 2 ou 3 sont oui, je pense que je ferais deux champs et une sorte d'analyseur fou pour déterminer ce qu'est l'extension ou d'autres données et les traiter de manière appropriée. Bien sûr, vous pouvez éviter la 2ème colonne en faisant quelque chose avec l'index où il supprime les caractères supplémentaires lors de la création de l'index, mais je ferais juste une deuxième colonne et probablement supprimerais les caractères avec un déclencheur.

Mise à jour :pour résoudre le problème AJAX, ce n'est peut-être pas aussi grave que vous le pensez. Si c'est de manière réaliste la principale façon de faire quoi que ce soit sur la table, stockez uniquement les chiffres dans une colonne secondaire comme je l'ai dit, puis faites de l'index de cette colonne celui qui est groupé.