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

11 funzioni per ottenere il giorno, il mese e l'anno da una data in MariaDB

MariaDB include molte funzioni per lavorare con le date. Alcuni di questi estraggono determinate parti da tali date e le restituiscono come stringa o intero.

Di seguito sono elencate 11 funzioni che puoi utilizzare per restituire varie parti della data in MariaDB.

Le funzioni

Innanzitutto, ecco le funzioni:

  • DATE_FORMAT()
  • EXTRACT()
  • DAYNAME()
  • GIORNO DEL MESE()
  • DAY()
  • DAYOFWEEK()
  • DAYOFWEEK()
  • DAYOFYEAR()
  • MONTH()
  • MONTHNAME()
  • YEAR()

Di seguito sono riportati esempi di ciascuna funzione.

Il DATE_FORMAT() Funzione

Il DATE_FORMAT() La funzione consente di formattare una data in base a una stringa di formato. La stringa di formato specifica come deve essere formattata la data. Costruisci la tua stringa di formato in base a uno o più identificatori di formato.

Ecco un esempio di utilizzo di DATE_FORMAT() per restituire il giorno, il mese e l'anno a partire da una data:

SELECT DATE_FORMAT('2023-07-25', '%W, %D %M %Y');

Risultato:

+-------------------------------------------+
| DATE_FORMAT('2023-07-25', '%W, %D %M %Y') |
+-------------------------------------------+
| Tuesday, 25th July 2023                   |
+-------------------------------------------+

La cosa buona di questa funzione è che puoi restituire molte variazioni della data. Ad esempio, puoi restituire solo i nomi brevi di giorni e mesi:

SELECT DATE_FORMAT('2023-07-25', '%a, %D %b %Y');

Risultato:

+-------------------------------------------+
| DATE_FORMAT('2023-07-25', '%a, %D %b %Y') |
+-------------------------------------------+
| Tue, 25th Jul 2023                        |
+-------------------------------------------+

Oppure puoi restituire i numeri del mese del giorno:

SELECT DATE_FORMAT('2023-07-25', '%d/%c/%Y');

Risultato:

+---------------------------------------+
| DATE_FORMAT('2023-07-25', '%d/%c/%Y') |
+---------------------------------------+
| 25/7/2023                             |
+---------------------------------------+

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. È una funzione abbastanza flessibile. Vedi DATE_FORMAT() per altri esempi.

Il EXTRACT() Funzione

Il EXTRACT () la funzione consente di estrarre un'unità specificata dalla data. Quindi puoi usarlo per estrarre giorno, mese e anno (oltre ad altre unità) dalla data.

Esempio:

SELECT 
    EXTRACT(DAY FROM '2023-07-25') AS Day,
    EXTRACT(MONTH FROM '2023-07-25') AS Month,
    EXTRACT(YEAR FROM '2023-07-25') AS Year;

Risultato:

+------+-------+------+
| Day  | Month | Year |
+------+-------+------+
|   25 |     7 | 2023 |
+------+-------+------+

Funzioni per la restituzione di un'unità di data specifica

MariaDB ha anche un sacco di 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

Ci sono alcune funzioni per restituire il giorno in MariaDB (e nella maggior parte degli altri DBMS). Questo perché MariaDB deve 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.

Esempio:

SELECT DAYNAME('2023-07-25');

Risultato:

+-----------------------+
| DAYNAME('2023-07-25') |
+-----------------------+
| Tuesday               |
+-----------------------+

Il DAYOFMONTH() Funzione

Il DAYOFMONTH() la funzione restituisce il numero del giorno del mese.

Esempio:

SELECT DAYOFMONTH('2023-07-25');

Risultato:

+--------------------------+
| DAYOFMONTH('2023-07-25') |
+--------------------------+
|                       25 |
+--------------------------+

Il DAY() Funzione

Il DAY() function è in realtà un sinonimo di DAYOFMONTH() funzione.

Esempio:

SELECT DAY('2023-07-25');

Risultato:

+-------------------+
| DAY('2023-07-25') |
+-------------------+
|                25 |
+-------------------+

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('2023-07-25');

Risultato:

+-------------------------+
| DAYOFWEEK('2023-07-25') |
+-------------------------+
|                       3 |
+-------------------------+

Vedi DAYOFWEEK() di seguito per una diversa indicizzazione.

Il DAYOFWEEK() Funzione

Il DAYOFWEEK() 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('2023-07-25');

Risultato:

+-----------------------+
| WEEKDAY('2023-07-25') |
+-----------------------+
|                     1 |
+-----------------------+

Il DAYOFYEAR() Funzione

Il DAYOFYEAR() La funzione restituisce il giorno dell'anno per la data, nell'intervallo 1 a 366 .

Esempio:

SELECT DAYOFYEAR('2023-07-25');

Risultato:

+-------------------------+
| DAYOFYEAR('2023-07-25') |
+-------------------------+
|                     206 |
+-------------------------+

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('2023-07-25');

Risultato:

+---------------------+
| MONTH('2023-07-25') |
+---------------------+
|                   7 |
+---------------------+

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('2023-07-25');

Risultato:

+-------------------------+
| MONTHNAME('2023-07-25') |
+-------------------------+
| July                    |
+-------------------------+

L'YEAR() Funzione

Il YEAR() la funzione restituisce la parte dell'anno della data.

Esempio:

SELECT YEAR('2023-07-25');

Risultato:

+--------------------+
| YEAR('2023-07-25') |
+--------------------+
|               2023 |
+--------------------+