Mysql
 sql >> Database >  >> RDS >> Mysql

Qual è il miglior tipo di colonna per un codice postale degli Stati Uniti?

Ci sono alcuni problemi con la memorizzazione di un codice postale come valore numerico.

  1. I codici postali hanno estensioni, il che significa che possono essere 12345-6789 . Non puoi memorizzare un trattino in un tipo di dati numerico.
  2. Ci sono molti codici postali che iniziano con uno zero, se lo memorizzi come int perderai lo zero iniziale.
  3. Non aggiungi/sottrai codici postali, ecc. né utilizzi funzioni numeriche con essi.

Memorizzerei un codice postale come varchar(5) o varchar(10) .

Come nota a margine, non sono sicuro del motivo per cui dovresti selezionare varchar(6) , hai un motivo per selezionare una lunghezza insolita quando i codici postali standard sono 5 o 10 con l'estensione?