MariaDB ha diverse funzioni che consentono di estrarre varie parti di data e ora da valori di data/ora. Puoi utilizzarli per separare ogni componente di data/ora nella propria colonna, se necessario.
Di seguito sono riportati tre modi per estrarre l'anno, il mese e il giorno da un valore di data in MariaDB.
Il YEAR()
, MONTH()
e DAY()
Funzioni
Il YEAR()
, MONTH()
e DAY()
le funzioni estraggono rispettivamente l'anno, il mese e il giorno da un valore di data o data e ora.
Ecco un esempio di utilizzo di queste funzioni per restituire ogni componente della data nella propria colonna:
SELECT
YEAR('2025-08-30') AS "Year",
MONTH('2025-08-30') AS "Month",
DAY('2025-08-30') AS "Day";
Risultato:
+------+-------+------+ | Year | Month | Day | +------+-------+------+ | 2025 | 8 | 30 | +------+-------+------+
Il DAY()
function è in realtà un sinonimo di DAYOFMONTH()
, quindi uno dei due restituirà lo stesso risultato.
C'è anche un WEEKDAY()
funzione, un DAYOFWEEK()
funzione, un DAYOFYEAR()
funzione e un DAYNAME()
funzione, ognuna delle quali restituisce una diversa rappresentazione del giorno.
Inoltre c'è un MONTHNAME()
funzione che restituisce il nome del mese, invece del suo numero.
Ecco un altro esempio che include queste funzioni:
SELECT
YEAR('2025-08-30') AS "YEAR",
MONTH('2025-08-30') AS "MONTH",
MONTHNAME('2025-08-30') AS "MONTHNAME",
DAY('2025-08-30') AS "DAY",
DAYOFMONTH('2025-08-30') AS "DAYOFMONTH",
WEEKDAY('2025-08-30') AS "WEEKDAY",
DAYOFWEEK('2025-08-30') AS "DAYOFWEEK",
DAYOFYEAR('2025-08-30') AS "DAYOFYEAR",
DAYNAME('2025-08-30') AS "DAYNAME";
Risultato (usando l'output verticale):
YEAR: 2025 MONTH: 8 MONTHNAME: August DAY: 30 DAYOFMONTH: 30 WEEKDAY: 5 DAYOFWEEK: 7 DAYOFYEAR: 242 DAYNAME: Saturday
Puoi anche utilizzare funzioni come WEEK()
per restituire il numero della settimana e QUARTER()
restituire il trimestre.
Esempio:
SELECT
WEEK('2025-08-30') AS "Week",
QUARTER('2025-08-30') AS "Quarter";
Risultato:
+------+---------+ | Week | Quarter | +------+---------+ | 34 | 3 | +------+---------+
La WEEK()
La funzione accetta un secondo argomento che consente di specificare la modalità. Ciò può modificare il numero della settimana risultante, a seconda della data effettiva. Guarda come WEEK()
Funziona in MariaDB per ulteriori informazioni e un esempio.
Il EXTRACT()
Funzione
Il EXTRACT()
la funzione consente di estrarre un'unità specificata dal valore di data/ora. Pertanto, puoi usarlo per estrarre l'anno, il mese e il giorno dalla data (oltre a settimana e trimestre se necessario).
Esempio:
SELECT
EXTRACT(YEAR FROM '2023-03-12') AS "Year",
EXTRACT(MONTH FROM '2023-03-12') AS "Month",
EXTRACT(DAY FROM '2023-03-12') AS "Day",
EXTRACT(WEEK FROM '2023-03-12') AS "Week",
EXTRACT(QUARTER FROM '2023-03-12') AS "Quarter";
Risultato:
+------+-------+------+------+---------+ | Year | Month | Day | Week | Quarter | +------+-------+------+------+---------+ | 2023 | 3 | 12 | 11 | 1 | +------+-------+------+------+---------+
Il DATE_FORMAT()
Funzione
Il DATE_FORMAT()
La funzione consente di formattare un valore di data o data e ora in base a una stringa di formato. La stringa di formato specifica come formattare la data/ora.
Possiamo quindi utilizzare questa funzione per restituire l'anno, il mese, il giorno e la settimana da una data.
Esempio:
SELECT
DATE_FORMAT('2035-12-08', '%Y') AS "Year",
DATE_FORMAT('2035-12-08', '%m') AS "Month",
DATE_FORMAT('2035-12-08', '%d') AS "Day",
DATE_FORMAT('2035-12-08', '%U') AS "Week";
Risultato:
+------+-------+------+------+ | Year | Month | Day | Week | +------+-------+------+------+ | 2035 | 12 | 08 | 48 | +------+-------+------+------+
Esistono diversi possibili identificatori di formato per ciascuna parte della data. Ciascuna parte della data può restituire un valore diverso, a seconda dell'effettivo identificatore di formato fornito. Ad esempio, puoi restituire il nome completo del mese utilizzando %M
invece di %m
.
Vedi Stringhe di formato MariaDB per un elenco completo di stringhe di formato/specificatori che possono essere utilizzati con DATE_FORMAT()
.