sql >> Base de Datos >  >> RDS >> Sqlserver

¿Qué tipo de datos se debe usar para almacenar números de teléfono en SQL Server 2005?

¿Esto incluye:

  • ¿Números internacionales?
  • ¿Extensiones?
  • ¿Otra información además del número real (como "preguntar por bobby")?

Si todo esto es no, usaría un campo de 10 caracteres y eliminaría todos los datos no numéricos. Si el primero es sí y los otros dos son no, usaría dos campos varchar(50), uno para la entrada original y otro con todos los datos no numéricos separados y usados ​​para la indexación. Si 2 o 3 son sí, creo que haría dos campos y algún tipo de analizador loco para determinar qué es la extensión u otros datos y tratarlos adecuadamente. Por supuesto, podría evitar la segunda columna haciendo algo con el índice que elimine los caracteres adicionales al crear el índice, pero yo solo haría una segunda columna y probablemente eliminaría los caracteres con un disparador.

Actualización:para abordar el problema de AJAX, puede que no sea tan malo como crees. Si esta es la forma principal en que se hace algo en la tabla, almacene solo los dígitos en una columna secundaria como dije, y luego haga que el índice de esa columna sea el agrupado.