Załóżmy, że chcę przechowywać numery telefonów w bazie danych. Mogę przyjmować numery telefonów spoza Stanów Zjednoczonych. Jak mógłbym przechować te numery telefonów?
postgresql
datatypes
data-integrity
data-validation
Evan Carroll
źródło
źródło
Odpowiedzi:
libphonenumber
Jeśli to możliwe, zawsze używaj formy kanonicznej. Im bardziej znormalizowana forma, tym lepiej. Jeśli istnieje standard, użyj go. W przypadku tego problemu użyjmy numeru libphonen Google'a przez proxy pg-libphonenumber .
Obecnie instaluje
phone_number
typ, który ma operatory porównania i funkcje. Przechowuje numer w międzynarodowej kanonicznej formie. To moim zdaniem najlepszy kompromis.Ponieważ wiemy, kiedy numery telefonów są sobie równe, i udostępniamy wewnętrzny normalny formularz, możemy to zrobić ...
(zwraca true). Oznacza to również, że
DISTINCT
działa, więc możemy to zrobić, aby uzyskać efekt, który wydaje się, że chcesz powyżej.To powoduje…
źródło