Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Exemplos de MAKEDATE() – MySQL


Ao usar o MySQL, você pode usar o MAKEDATE() função para retornar uma data das partes ano e dia do ano.

Em outras palavras, você fornece dois argumentos; sendo um o ano e o outro o dia do ano. O MAKEDATE() A função retornará o valor de data com base nesses dois argumentos.


Sintaxe


A sintaxe fica assim:
MAKEDATE(ano,diadoano)

Onde year é a parte do ano e dayofyear é a parte do dia do ano.

Exemplo 1 – Uso básico


Aqui está um exemplo para demonstrar.
SELECT MAKEDATE(2021,10);

Resultado:
+-------------------+| MAKEDATE(2021,10) |+-------------------+| 10/01/2021 |+-------------------+

Então, porque 10 significa o dia 10 do ano, isso significa que é o dia 10 de janeiro.

Exemplo 2 – Um valor maior de um dia do ano


Aqui está um exemplo que usa um valor de dia do ano maior.
SELECT MAKEDATE(2021.350);

Resultado:
+--------------------+| MAKEDATE(2021.350) |+--------------------+| 16/12/2021 |+--------------------+

Portanto, neste caso, o 350º dia do ano resulta em 16 de dezembro.

Você também pode usar valores maiores que 365 (ou 366 para anos bissextos). Se você fizer isso, o resultado passará para um novo ano civil, conforme necessário.
SELECT MAKEDATE(2021.500), MAKEDATE(2021.5000);

Resultado:
+--------------------+---------------------+| MAKEDATE(2021.500) | MAKEDATE(2021,5000) |+--------------------+--------------------- +| 15-05-2022 | 2034-09-09 |+--------------------+---------------------+ 

Exemplo 3 – Anos bissextos


Esteja atento aos anos bissextos ao usar esta função.
SELECT MAKEDATE(2020.350), MAKEDATE(2021.350);

Resultado:
+--------------------+--------------------+| MAKEDATE(2020.350) | MAKEDATE(2021.350) |+--------------------+--------------------+ | 15-12-2020 | 16/12/2021 |+--------------------+--------------------+ 
Nesse caso, 2020 é um ano bissexto. E como fevereiro tem um dia extra durante os anos bissextos, isso afeta o resultado dos valores restantes do dia do ano.

Exemplo 4 - Valores zero


Se você fornecer um valor zero, o resultado será NULL .
SELECT MAKEDATE(2020,0);

Resultado:
+------------------+| MAKEDATE(2020,0) |+------------------+| NULO |+------------------+