MariaDB
 sql >> Database >  >> RDS >> MariaDB

3 modi per separare l'anno, il mese e il giorno da una data in MariaDB

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() .