Supongamos que quiero almacenar números de teléfono en una base de datos. Puedo aceptar números de teléfono de fuera de los Estados Unidos. ¿Cómo haría para almacenar estos números de teléfono?
postgresql
datatypes
data-integrity
data-validation
Evan Carroll
fuente
fuente
Respuestas:
libphonenumber
Cuando sea posible, use siempre la forma canónica. Cuanto más normalizada sea la forma, mejor. Si hay un estándar, úselo. Para este problema, usemos el número de libphonen de Google , por proxy de pg-libphonenumber .
Esto instala actualmente el
phone_number
tipo que tiene operadores y funciones de comparación. Almacena el número en forma canónica internacional. Este es el mejor compromiso en mi opinión.Como podemos saber cuándo los números de teléfono son iguales y proporcionamos una forma normal interna, podemos hacer esto.
(devuelve verdadero). Esto también significa que
DISTINCT
funciona para que podamos hacer esto para obtener el efecto que parece querer más arriba.Eso pone en ..
fuente