Mysql
 sql >> Database >  >> RDS >> Mysql

MAKEDATE() Esempi – MySQL

Quando usi MySQL, puoi usare MAKEDATE() funzione per restituire una data dalle parti dell'anno e del giorno dell'anno.

In altre parole, fornisci due argomenti; uno è l'anno e l'altro è il giorno dell'anno. Il MAKEDATE() la funzione restituirà quindi il valore della data in base a questi due argomenti.

Sintassi

La sintassi è questa:

MAKEDATE(year,dayofyear)

Dove year è la parte dell'anno e dayofyear è la parte del giorno dell'anno.

Esempio 1 – Utilizzo di base

Ecco un esempio da dimostrare.

SELECT MAKEDATE(2021,10);

Risultato:

+-------------------+
| MAKEDATE(2021,10) |
+-------------------+
| 2021-01-10        |
+-------------------+

Quindi perché 10 significa il decimo giorno dell'anno, questo significa che è il 10 gennaio.

Esempio 2:un valore giornaliero maggiore

Ecco un esempio che utilizza un valore del giorno dell'anno più grande.

SELECT MAKEDATE(2021,350);

Risultato:

+--------------------+
| MAKEDATE(2021,350) |
+--------------------+
| 2021-12-16         |
+--------------------+

Quindi, in questo caso, il 350° giorno dell'anno risulta essere il 16 dicembre.

Puoi anche utilizzare valori maggiori di 365 (o 366 per gli anni bisestili). Se lo fai, il risultato passerà a un nuovo anno solare come richiesto.

SELECT 
    MAKEDATE(2021,500),
    MAKEDATE(2021,5000);

Risultato:

+--------------------+---------------------+
| MAKEDATE(2021,500) | MAKEDATE(2021,5000) |
+--------------------+---------------------+
| 2022-05-15         | 2034-09-09          |
+--------------------+---------------------+

Esempio 3 – Anni bisestili

Prestare attenzione agli anni bisestili quando si utilizza questa funzione.

SELECT 
    MAKEDATE(2020,350),
    MAKEDATE(2021,350);

Risultato:

+--------------------+--------------------+
| MAKEDATE(2020,350) | MAKEDATE(2021,350) |
+--------------------+--------------------+
| 2020-12-15         | 2021-12-16         |
+--------------------+--------------------+

In questo caso, il 2020 è un anno bisestile. E poiché febbraio ha un giorno in più durante gli anni bisestili, ciò influisce sul risultato dei restanti valori dei giorni dell'anno.

Esempio 4 – Valori zero

Se fornisci un valore zero, il risultato è NULL .

SELECT MAKEDATE(2020,0);

Risultato:

+------------------+
| MAKEDATE(2020,0) |
+------------------+
| NULL             |
+------------------+