Buongiorno a tutti,
ho una tabella di MySQL con delle date in formato "human-readable", vale a dire
date ("D d F Y \- H:i:s")
Come faccio per convertirle in un formato, viceversa, utile per l'ordinamento, tipo
date("Y m d H:i:s")
Buongiorno a tutti,
ho una tabella di MySQL con delle date in formato "human-readable", vale a dire
date ("D d F Y \- H:i:s")
Come faccio per convertirle in un formato, viceversa, utile per l'ordinamento, tipo
date("Y m d H:i:s")
http://dev.mysql.com/doc/refman/5.0/...functions.html
Guarda la DATE_FORMAT()
Leggi il REGOLAMENTO!
E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
Drugo
Grazie, Rutg... ehr, grazie e basta.Originariamente inviato da Habanero
http://dev.mysql.com/doc/refman/5.0/...functions.html
Guarda la DATE_FORMAT()
Ma se volessi definire un nuovo campo data per la tabella, conservandomi il vecchio, e popolare con una sola query tutti i record con la versione "da ordinamento" del campo "human-readable"?
beh dal punto di vista di un buon design la tua soluzione è pessima...avresti due campi con la stessa informazione.
Se mi chiedi un parere te lo sconsiglio, molto meglio eseguire l'operazione nella select di ordinamento.
Ma se proprio persisti...
Per aggiungere il campo 'data_ord' alla tabella 'tabella' subito il campo 'data' :
ALTER TABLE tabella ADD COLUMN data_ord varchar(12) AFTER data;
Per popolare il campo:
UPDATE tabella SET data_ord=DATE_FORMAT(data, "%d-%m-%Y");
Leggi il REGOLAMENTO!
E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
Drugo
Ci ho pensato due minuti dopo averlo scritto, sai?beh dal punto di vista di un buon design la tua soluzione è pessima...avresti due campi con la stessa informazione.
Se mi chiedi un parere te lo sconsiglio, molto meglio eseguire l'operazione nella select di ordinamento.
Però (c'è sempre un però), il problema è che la DATE_FORMAT non mi funziona.
Le date sono immagazzinate in un campo TEXT, in un formato del tipo
Mon 14 July 2008 - 13:22:22
Quando vado a fare una splendida SELECT DATE_FORMAT(), ho un altrettanto splendido NULL...
Il campo dev'essere DATE o DATETIME, penso sia normale ti restituisca NULL.
Ora funziona tutto, grazie a tuttiOriginariamente inviato da Razorblade
Il campo dev'essere DATE o DATETIME, penso sia normale ti restituisca NULL.![]()