MySQL ha una serie di funzioni diverse che ci consentono di ottenere varie parti della data, come il giorno, il mese e l'anno, da una data.
Il DATE_FORMAT()
Funzione
Il DATE_FORMAT()
la funzione è ottima se vuoi restituire le parti della data tutte in un unico campo.
Esempio:
SELECT DATE_FORMAT('2035-12-19', '%W, %D %M %Y');
Risultato:
Wednesday, 19th December 2035
Puoi anche restituire solo i nomi brevi di giorni e mesi se questo è il risultato desiderato:
SELECT DATE_FORMAT('2035-12-19', '%a, %D %b %Y');
Risultato:
Wed, 19th Dec 2035
Oppure puoi restituire i numeri del mese del giorno:
SELECT DATE_FORMAT('2035-12-19', '%d/%c/%Y');
Risultato:
19/12/2035
Puoi anche restituire ogni parte della data nel proprio campo, se richiesto:
SELECT
DATE_FORMAT('2035-12-19', '%d') AS Day,
DATE_FORMAT('2035-12-19', '%c') AS Month,
DATE_FORMAT('2035-12-19', '%Y') AS Year;
Risultato:
+------+-------+------+ | Day | Month | Year | +------+-------+------+ | 19 | 12 | 2035 | +------+-------+------+
Consulta questo elenco completo di identificatori di formato per un riepilogo completo degli identificatori di formato che puoi utilizzare per costruire una stringa di formato.
DATE_FORMAT()
accetta anche un argomento delle impostazioni locali facoltativo che puoi utilizzare per specificare la lingua dei nomi del giorno e del mese. Vedi MySQL DATE_FORMAT()
Esempi per altro.
Il EXTRACT()
Funzione
Il EXTRACT()
la funzione consente di estrarre un'unità specificata dalla data. Pertanto, puoi utilizzarlo per estrarre giorno, mese e anno (oltre ad altre unità) dalla data.
Esempio:
SELECT
EXTRACT(DAY FROM '2035-12-19') AS Day,
EXTRACT(MONTH FROM '2035-12-19') AS Month,
EXTRACT(YEAR FROM '2035-12-19') AS Year;
Risultato:
+------+-------+------+ | Day | Month | Year | +------+-------+------+ | 19 | 12 | 2035 | +------+-------+------+
Funzioni per la restituzione di un'unità di data specifica
MySQL ha anche alcune funzioni più specifiche che restituiscono un'unità di data specifica.
Di seguito è riportato un elenco delle funzioni che restituiscono giorno, mese e anno a partire da una data.
Il DAYNAME()
Funzione
MySQL ha più di una funzione per restituire il giorno. Questo perché c'è più di un modo per rappresentare il giorno. MySQL ha bisogno di sapere se vuoi il nome del giorno, il numero del giorno della settimana, il giorno del mese, il giorno dell'anno, ecc.
Il DAYNAME()
la funzione restituisce il nome del giorno della settimana:
SELECT DAYNAME('2035-12-19');
Risultato:
Wednesday
Il DAYOFMONTH()
Funzione
Il DAYOFMONTH()
la funzione restituisce il numero del giorno del mese.
Esempio:
SELECT DAYOFMONTH('2035-12-19');
Risultato:
19
Il DAY()
Funzione
Il DAY()
function è in realtà un sinonimo di DAYOFMONTH()
funzione.
Esempio:
SELECT DAY('2035-12-19');
Risultato:
19
Come previsto, lo stesso risultato di DAYOFMONTH()
.
Il DAYOFWEEK()
Funzione
Il DAYOFWEEK()
la funzione restituisce l'indice del giorno della settimana per la data, come specificato dallo standard ODBC (1
=domenica, 2
=lunedì, …, 7
=sabato).
Esempio:
SELECT DAYOFWEEK('2035-12-19');
Risultato:
4
Vedi WEEKDAY()
di seguito per una diversa indicizzazione.
Il WEEKDAY()
Funzione
Il WEEKDAY()
la funzione è simile a DAYOFWEEK()
in quanto restituisce l'indice della settimana per la data. La differenza è che utilizza una numerazione di indice diversa (0
=lunedì, 1
=Martedì, … 6
=domenica).
Esempio:
SELECT WEEKDAY('2035-12-19');
Risultato:
2
Il DAYOFYEAR()
Funzione
Il DAYOFYEAR()
La funzione restituisce il giorno dell'anno per la data, nell'intervallo 1
a 366
.
Esempio:
SELECT DAYOFYEAR('2035-12-19');
Risultato:
353
Il MONTH()
Funzione
Il MONTH()
la funzione restituisce il mese nell'intervallo 1
a 12
da gennaio a dicembre o 0
per le date che hanno una parte del mese zero (come 0000-00-00
).
Esempio:
SELECT MONTH('2035-12-19');
Risultato:
12
Il MONTHNAME()
Funzione
Come suggerisce il nome, il MONTHNAME()
la funzione restituisce il nome del mese. La lingua usata per il nome è controllata dal valore di lc_time_names
variabile di sistema.
Esempio:
SELECT MONTHNAME('2035-12-19');
Risultato:
December
L'YEAR()
Funzione
Il YEAR()
la funzione restituisce la parte dell'anno della data.
Esempio:
SELECT YEAR('2035-12-19');
Risultato:
2035