Il comando MySQL DATE vi permette di estrarre il valore di una data da un’in­di­ca­zio­ne temporale. Questa funzione è par­ti­co­lar­men­te utile per elenchi con­te­nen­ti ordini, chiamate o per altre ope­ra­zio­ni.

Che cos’è MySQL DATE?

Numerosi utili parametri per­met­to­no di avere una migliore visione d’insieme e tenere in ordine i dati in MySQL, nonché di or­ga­niz­za­re meglio le diverse tabelle ga­ran­ten­do un accesso ancora più rapido quando è ne­ces­sa­rio. A tal fine, il sistema di gestione di database offre diversi tipi di campi per indicare date e tempi.

Oltre a MySQL TIME, MySQL DATETIME e MySQL TIMESTAMP, anche MySQL DATE è un comando par­ti­co­lar­men­te pratico e semplice al tempo stesso, che offre un aiuto prezioso nel vostro lavoro quo­ti­dia­no con il sistema.

Potete uti­liz­za­re MySQL DATE con valori che con­ten­go­no una data, ma che non includono in­di­ca­zio­ni temporali: la funzione estrae quindi la data da un’in­for­ma­zio­ne e la vi­sua­liz­za. Le voci sono sempre me­mo­riz­za­te nel formato “YYYY-MM-DD” e l’in­ter­val­lo di valori possibili va da “1000-01-01” a “9999-12-31”.

La sintassi di MySQL DATE

Se state imparano a uti­liz­za­re MySQL e conoscete già comandi come MySQL DELETE, MySQL REPLACE e MySQL CONCAT, sapete già che la sintassi del sistema è re­la­ti­va­men­te semplice. MySQL DATE non fa eccezione; la struttura si presenta es­sen­zial­men­te nel modo seguente:

DATE (espressione)
bash

È im­por­tan­te che l’espres­sio­ne contenga un valore con­sen­ti­to per la data. In caso contrario, l’output è sem­pli­ce­men­te un valore zero.

Esempi di utilizzo di MySQL DATE

Per capire meglio le pos­si­bi­li­tà offerte da MySQL DATE è utile ricorrere ad alcuni esempi pratici. Partiamo dalla forma più semplice, che mostra soltanto l’in­for­ma­zio­ne relativa alla data. Il relativo comando è il seguente:

SELECT DATE ("2022-01-10");
bash

L’ese­cu­zio­ne di questo comando dà il seguente output:

2022-01-10
bash

Estra­zio­ne di una data da un’in­di­ca­zio­ne temporale

È anche possibile uti­liz­za­re il comando MySQL DATE per estrarre una data da un’in­di­ca­zio­ne temporale più lunga. L’esempio seguente mostra questa opzione:

SELECT DATE ("2022-01-10 10:17:36");
bash

Anche in questo caso l’output è:

2022-01-10
bash

Valore zero con MySQL DATE

Tuttavia, se non si immette un valore valido per la data, non viene re­sti­tui­to alcun output. Un esempio di un caso del genere è il seguente:

SELECT DATE ("La data è il 10.01.2022");
bash

MySQL DATE per procedure d’ordine e con­ta­bi­li­tà

L’esempio seguente è par­ti­co­lar­men­te utile per com­pren­de­re i vantaggi pratici di MySQL DATE. Ipo­tiz­zia­mo che un’impresa abbia creato delle tabelle per i prodotti ordinati e quelli spediti. A questo punto, per risalire esat­ta­men­te a quando un prodotto è stato ordinato, in teoria si dovrebbe dedicare parecchio tempo a spuntare ma­nual­men­te tutti gli elenchi.

MySQL DATE offre invece un metodo net­ta­men­te più veloce per estrarre i dati dall’elenco già esistente. Il comando esegue un’apposita ricerca au­to­ma­ti­ca nell’intera tabella: l’output mostra quindi tutti i dati degli ordini in ordine cro­no­lo­gi­co. Per il nostro esempio, ipo­tiz­zia­mo che il nome dell’elenco sia “Ordini”.

SELECT DATE (data ordine) FROM ordini;
bash

In questo caso, il relativo output si presenta così:

DATA (data ordine)
2021-11-27
2021-11-29
2022-01-10
2022-02-04
2022-02-17
bash

Comandi correlati

Oltre al comando MySQL DATE, sono di­spo­ni­bi­li anche altre funzioni correlate che vi aiutano nella gestione e nell’ela­bo­ra­zio­ne di una tabella. In par­ti­co­la­re, vale la pena men­zio­na­re MySQL DATEDIFF, che genera come output il numero di giorni compresi fra due date o in­di­ca­zio­ni temporali.

Altri comandi im­por­tan­ti sono MySQL DATE_ADD, che aggiunge al valore di una data i valori di tempo sotto forma di in­ter­val­lo, MySQL DATE_FORMAT, che permette di for­mat­ta­re una data, e MySQL DATE_SUB, con cui potete estrarre un valore di tempo dal valore di una data.

Formati al­ter­na­ti­vi per la data

Oltre a MySQL DATE, il sistema conosce altri tre formati per la data:

  • MySQL DATETIME: questa opzione salva la data e l’ora nel formato YYYY-MM-DD HH:MI:SS. L’in­ter­val­lo di tempo con­sen­ti­to va da 1000-01-01 00:00:00 a 9999-12-31 23:59:59.
  • MySQL TIMESTAMP: questo formato è simile a MySQL DATETIME, ma tiene conto dei fusi orari e converte i ri­spet­ti­vi valori in tempo coor­di­na­to uni­ver­sa­le (UTC). Anche in questo caso l’output segue lo schema YYYY-MM-DD HH:MI:SS, ma i valori con­sen­ti­ti sono compresi fra 1970-01-01 00:00:01 UTC e 2038-01-09 03:14:17 UTC. MySQL TIMESTAMP è quindi la scelta giusta per le ap­pli­ca­zio­ni che devono tenere conto di diversi fusi orari. Per le date prima del 1970 e dopo il 2038 si consiglia di uti­liz­za­re MySQL DATETIME.
  • MySQL TIME: MySQL TIME memorizza l’ora, ma non la data. Il formato uti­liz­za­to è HH:MI:SS e l’in­ter­val­lo di tempo con­sen­ti­to va da -838:59:59 a 838:59:59. MySQL TIME permette di mostrare anche gli in­ter­val­li di tempo, oltre a istanti specifici. Ad esempio, una giornata sarebbe indicata come 24:00:00.

Pertanto, se MySQL DATE non è la scelta più adatta, è possibile ricorrere anche a una delle altre opzioni.

Vai al menu prin­ci­pa­le