Nel mio database InnoDB MySQL, ho dati di codice postale sporchi che voglio pulire.MySQL: come applicare il codice postale sul pad con "0"?
I dati del codice postale puliti sono quando ho tutte le 5 cifre per un codice postale (ad esempio "90210").
Ma per qualche motivo, ho notato nel mio database che per i codici di avviamento postale che iniziano con uno "0", lo 0 è stato eliminato.
Così "Holtsville, New York" con codice postale "00544
" viene memorizzato nel mio database come "544
"
e
"Dedham, MA" con codice postale "02026
" è memorizzata nel mio database come "2026
".
Quale SQL è possibile eseguire sul front pad "0" su qualsiasi codice di avviamento postale che non sia di 5 cifre di lunghezza? Significato, se il codice di avviamento postale è di 3 cifre in lunghezza, pad anteriore "00". Se il codice di avviamento postale è di 4 cifre in lunghezza, il pannello frontale è solo "0".
UPDATE:
Ho appena cambiato il codice postale di essere tipo di dati VARCHAR (5)
Sembra che la colonna della tabella per il codice postale sia di tipo Numero e causa il problema. In tal caso, è necessario modificare il tipo di dati per conservare i dati dei caratteri. – Kangkan
@ Kangkan, hai ragione. Il mio tipo di dati era un numero. Ho appena convertito il codice postale in varchar (5). Ora, come andare in prima pagina
TeddyR
È preferibile utilizzare CHAR anziché VARCHAR. Aumenta le query di molto quando la tabella diventa grande (solo se tutte le altre colonne hanno dimensioni fisse) – quantumSoup