PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Por que é melhor armazenar um número de telefone como uma string versus um número inteiro?


Os números de telefone são cadeias de caracteres de dígitos, não são números inteiros.

Considere por exemplo:

  • Expressar um número de telefone em uma base diferente o tornaria sem sentido

  • Adicionar ou multiplicar dois números de telefone, ou qualquer operação matemática em um número de telefone, não tem sentido. O resultado não é outro número de telefone (exceto por concidência)

  • Os números de telefone devem ser inseridos "no estado em que se encontram" em um dispositivo conectado.

  • Os números de telefone podem ter zeros à esquerda.

  • Manipulações de números de telefone, como adicionar um código de área, são operações de String.

Armazenar a versão string do número de telefone torna isso claro e inequívoco.

Histórico:Nos antigos sistemas de discagem codificados por pulso, o código para cada dígito em um número de telefone era enviado com o mesmo número de pulsos que o dígito (ou 10 pulsos para "0"). Pode ser por isso que ainda usamos dígitos para representar as partes de um número de telefone. Consulte http://en.wikipedia.org/wiki/Pulse_dialing