¿Cuál es la más larga posible en todo el mundo el número de teléfono que debo considerar en SQL varchar(longitud) para el teléfono

¿Cuál es la más larga posible en todo el mundo el número de teléfono que debo considerar en SQL varchar(length) por teléfono.

consideraciones:

  • + código de país
  • () para el código de área
  • x + 6 números de Extensión de la extensión (por lo tanto, hacer 8 {espacio})
  • espacios entre los grupos (es decir, en América teléfonos +x xxx xxx xxxx = 3 espacios)
  • aquí es donde necesito su ayuda, quiero que sea todo el mundo

Considerar que, en mi caso en particular ahora, no necesito cartas, etc. el número comienza con código de país y termina con la extensión, no de Fax/Teléfono, etc. comentarios, ni tarjeta de llamadas cosas de la necesaria.

  • Creo que la conversión de la cantidad en valor long que sería una buena solución, y se necesita sólo de 64 bits de espacio, he estado usando esto por años, sin problemas
  • 15 dígitos: en.wikipedia.org/wiki/Telephone_numbering_plan
  • ya se ha mencionado aquí, pero gracias!
  • A la derecha, pero respuesta no aparece el enlace que me dio. Eres bienvenido. 🙂
InformationsquelleAutor Shimmy | 2009-04-06

4 Kommentare

  1. 72

    Bien teniendo en cuenta que no hay sobrecarga de la diferencia entre un tipo de datos varchar(30) varchar(100) si usted es sólo el almacenamiento de 20 caracteres cada una, es mejor errar en el lado de la precaución y sólo tienes que hacer 50.

    • Sólo para el conocimiento: por eso, cuando hay alguna sobrecarga? por favor, incluya una fuente en su respuesta, por lo que podemos seguir adelante y aprender los fundamentos de la misma.
    • Sé que debería ser el caso, pero no siempre. En MySQL (por ejemplo) el total de la longitud se utiliza para la clasificación. Lo mejor es aplicar al menos un mínimo de esfuerzo.
    • Cuando se utiliza un CHAR por ejemplo. La documentación de SQL Server (y leerlo) muestra exactamente que las de tamaño en varchar es que realmente no se utiliza, es decir, la sobrecarga de los caracteres es de 0.
    • No hay tamaño de almacenamiento diferencia entre los dos tamaños de columna. No es muy probable que sea una sobrecarga, significativo o no, dependiendo de su base de datos particular. SQL Server, por ejemplo, se pierde mucho de la capacidad para predecir los datos de los tamaños de página y optimizar los accesos y la alineación de esa manera. Como siempre, la prueba.
    • Prematuro de la optimización es la raíz de todos los males.
    • Platitudinous generalizaciones son aún peores. El diseño de un sistema teniendo en cuenta la optimización es nunca mal por se – optimización se convierte en malo cuando uno se dedica una cantidad excesiva de tiempo innecesarias, imperceptible y menor eficiencia.

  2. 149

    Suponiendo que no guarde cosas como el ‘+’, ‘()’, ‘-‘, espacios y lo que-han-a tú (y ¿por qué, son de presentación de las preocupaciones que podría variar dependiendo de las costumbres locales y la red de distribuciones de todos modos), la recomendación ITU-T E. 164 para la organización internacional del teléfono de la red (lo que la mayoría de las redes están conectadas por medio), se especifica que el número entero (incluyendo el código de país, pero no incluyendo los prefijos tales como la prefijo de llamadas internacionales necesario para la marcación de salida, que varía de país a país, ni incluidos los sufijos tales como PBX números de extensión) ser en la mayoría de los 15 caracteres.

    Llamar a prefijos de depender de la persona que llama, no el destinatario, y por lo tanto no debería (en muchos casos) se almacenan con un número de teléfono. Si la base de datos almacena los datos de una libreta personal de direcciones (en el que caso de almacenar el prefijo de llamada internacional tiene sentido), el más internacional de los prefijos que tendría que lidiar con (de acuerdo a Wikipedia) son en la actualidad de 5 dígitos, en Finlandia.

    Como sufijos, algunos Pbx apoyo de hasta 11 dígitos extensiones (de nuevo, de acuerdo a Wikipedia). Desde PBX números de extensión son parte de un diferente plan de marcación (Pbx son independientes de las compañías de teléfono intercambios), números de extensión deben ser distinguibles de los números de teléfono, ya sea con un carácter de separación o almacenar en una columna diferente.

    • Si no almacenar el formato de caracteres (como ‘+’, ‘(‘, ‘)’, ‘-‘, y ‘ ‘) y almacenamiento de números de diferentes naciones, es posible que desee agregar una columna para indicar el tipo de formato de número para cuando se muestra el número.
    • Línea de base: 15 chars. Si va a almacenar el prefijo y el sufijo a, la parte inferior de la línea es: 5+15+11=31.
    • Creo que deberían actualizar AlikElzin del comment en su respuesta.
    • ‘+’ no es de presentación, en.wikipedia.org/wiki/List_of_international_call_prefixes
  3. 16

    En la especificación GSM 3GPP TS 11.11, hay 10 bytes de lado en el MSISDN EF (6F40) para «marcar número». Dado que este es el GSM representación de un número de teléfono, y su uso es picar a intercambiar, (y es que siempre existe la posibilidad de paréntesis) 22 caracteres de datos debería ser suficiente.

    En mi experiencia, no es sólo una instancia de apertura/cierre de paréntesis, que es mi razonamiento para que el de arriba.

  4. 10

    Es un poco peor, yo uso una tarjeta de llamada para llamadas internacionales, por lo que su número local en el US + nº de cuenta (6 dígitos) + pin (4 dígitos) + «pausa» + lo que se describe anteriormente.

    Sospecho que puede haber otros casos

    • Tienes un muy buen punto. He añadido un par de líneas a mi msg, por favor, lee
    • Tarjeta de llamadas rellamada no debe estar en la base de datos, a pesar de que esta es la parte que se añade cuando la marcación de acuerdo a normas de marcación. Los números almacenados deben estar en ISO forma, sin ningún tipo de línea la información relacionada.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea