sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Por qué es mejor almacenar un número de teléfono como una cadena y no como un entero?

Los números de teléfono son cadenas de caracteres de dígitos, no son números enteros.

Considere por ejemplo:

  • Expresar un número de teléfono en una base diferente le quitaría sentido

  • Sumar o multiplicar dos números de teléfono, o cualquier operación matemática en un número de teléfono, no tiene sentido. El resultado no es otro número de teléfono (salvo por coincidencia)

  • Los números de teléfono están destinados a ingresarse "tal cual" en un dispositivo conectado.

  • Los números de teléfono pueden tener ceros a la izquierda.

  • Las manipulaciones de números de teléfono, como agregar un código de área, son operaciones de cadena.

Almacenar la versión de cadena del número de teléfono lo hace claro e inequívoco.

Historia:en los antiguos sistemas de marcado codificados por pulsos, el código de cada dígito de un número de teléfono se enviaba como el mismo número de pulsos que el dígito (o 10 pulsos para "0"). Esa puede ser la razón por la que todavía usamos dígitos para representar las partes de un número de teléfono. Ver http://en.wikipedia.org/wiki/Pulse_dialing