Vamos supor que eu queira armazenar números de telefone em um banco de dados. Posso aceitar números de telefone de fora dos Estados Unidos. Como eu faria para armazenar esses números de telefone?
relate perguntas
-
Posso ativar o PITR depois que o banco de dados foi usado
-
Práticas recomendadas para executar a replicação atrasada do deslocamento de tempo
-
Os procedimentos armazenados impedem a injeção de SQL?
-
Sequências Biológicas do UniProt no PostgreSQL
-
Qual é a diferença entre a replicação do PostgreSQL 9.0 e o Slony-I?
libphonenumber
Sempre que possível, use a forma canônica. Quanto mais normalizada a forma, melhor. Se houver um padrão, use-o. Para este problema, vamos usar libphonenumber do Google , por proxy de pg-libphonenumber .
Atualmente, isso instala o
phone_number
tipo que possui operadores e funções de comparação. Ele armazena o número em uma forma canônica internacional. Este é o melhor compromisso na minha opinião.Como podemos dizer quando os números de telefone são iguais e fornecemos uma forma normal interna, podemos fazer isso.
(retorna verdadeiro). Isso também significa que
DISTINCT
funciona para que possamos fazer isso para obter o efeito que você parece querer acima.Isso coloca..
Existe uma solução sem extensão
pg_libphonenumber
.phone.sql
para número de telefone de validação emE.164
formato internacional.phone_parse.sql
para analisar o número de telefone em 3 partes:country_code
,area_code
,local_number
.