MySQL, come lavorare con le date in italiano?

Il formato di default per le date sul DB MySQL è “YYYY-mm-dd” (anno, mese, giorno) e per la data/ora “YYYY-mm-dd hh:ii:ss” (come per la data più ora, minuti, secondi).

Purtroppo capita la disavventura di avere a che fare con database in cui le date sono state salvate in un campo varchar in formato italiano “hh:ii:ss dd/mm/YYYY”. Quesot è un problema se si vogliono fare operazioni sulle date, tipo tutti i record del giorno X, tutti i record più recenti di Y, oppure semplicemente ordinare per data/ora.

Per questi casi, MySQL mette a disposizione la funzione STR_TO_DATE() che prende come input il nome del campo (oppure direttamente una data in formato testuale) ed i parametri di formattazione per poterla convertire in una data vera e propria.

Facciamo un esempio. La seguente query converte una data da formato italiano in formato data e, cosa più interessante, tratta l’output come una data e non come testo:

La funzione può essere usata anche nella clausola WHERE oppure ORDER BY.

Maggiori informazioni qui.

enjoy!

Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂



Taggato su: ,

Commenta