back to top

Tipi di dati in MySQL: date e orari

Nelle lezioni precedenti abbiamo visto i tipi di dati numerici e stringa, in questa lezione affronteremo un terzo tipo anch’esso molto utilizzato in MySQL: i dati correlati a date e orari. Tali tipi di dati sono molto utili quando si ha a che fare con informazioni riguardanti la data e l’orario. Di seguito una tabella riepilogativa:

TipoFormato
DATETIMEAAAA-MM-GG HH:MM:SS
DATEAAAA-MM-GG
TIMEHH:MM:SS
YEARAAAA
TIMESTAMPPuò avere diversi formati (vedi sotto)

Di seguito i diversi formati di Timestamp:

TipoFormato
TIMESTAMP(14)AAAAMMGGHHMMSS
TIMESTAMP(12)AAMMGGHHMMSS
TIMESTAMP(10)AAMMGGHHMM
TIMESTAMP(8)AAAAMMGG
TIMESTAMP(4)AAMM
TIMESTAMP(2)AA

I campi di tipo DATETIME contengono sia la data che l’orario; per quanto riguarda la data, MySQL impone dei limiti molto precisi validi anche per i campi DATE: le date accettate da questi campi vanno dal 1000-01-01 (1° gennaio dell’anno 1000) al 9999-12-31 (31 dicembre del 9999).

I valori all’interno di questi campi possono essere inseriti sia sotto forma di stringhe che di numeri.

Il tipo di campo più interessante di questa famiglia è sicuramente TIMESTAMP: questo campo è destinato ad osptiare una valore numerico corrispondente al numero di secondi trascorsi da epoch, cioè dal 1 gennaio 1970. Il limite massimo di capienza di questo campo arriva sino all’anno 2037.

Creare campi con questo tipo di dato può rivelarsi molto utile quando si desidera memorizzare automaticamente ogni azione (INSERT o UPDATE) che riguarda ciascuna riga di una colonna. Per ottenere un simile risultato è sufficiente utilizzare una dichiarazione come questa:

CREATE TABLE log_accessi (
  ...
  aggiornamento TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  ...
);

Nel nostro esempio abbiamo creato una colonna "aggiornamento" in cui viene salvato il timestamp corrente sia al momento della creazione del record che in quello, successivo, di un suo eventuale update.

Pubblicità
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).

In questa guida...