No MariaDB,
MAKEDATE()
é uma função interna de data e hora que retorna uma data, com base no ano e no dia do ano fornecidos como argumentos. Sintaxe
A sintaxe fica assim:
MAKEDATE(year,dayofyear)
Exemplo
Aqui está um exemplo:
SELECT MAKEDATE(2030, 10);
Resultado:
+--------------------+ | MAKEDATE(2030, 10) | +--------------------+ | 2030-01-10 | +--------------------+
E um outro:
SELECT MAKEDATE(2030, 100);
Resultado:
+---------------------+ | MAKEDATE(2030, 100) | +---------------------+ | 2030-04-10 | +---------------------+
Retorne uma data em um ano futuro
Se o segundo argumento (dia do ano) for maior que o número de dias do ano, a data resultante será um ano futuro.
Exemplo:
SELECT
MAKEDATE(2030, 366),
MAKEDATE(2030, 700),
MAKEDATE(2030, 7000);
Resultado:
+---------------------+---------------------+----------------------+ | MAKEDATE(2030, 366) | MAKEDATE(2030, 700) | MAKEDATE(2030, 7000) | +---------------------+---------------------+----------------------+ | 2031-01-01 | 2031-12-01 | 2049-03-01 | +---------------------+---------------------+----------------------+
Zero Dias
O segundo argumento (dia do ano) deve ser maior que
0
ou o resultado é null
. Exemplo:
SELECT
MAKEDATE(2030, 366),
MAKEDATE(2030, 700),
MAKEDATE(2030, 7000);
Resultado:
+---------------------+---------------------+----------------------+ | MAKEDATE(2030, 366) | MAKEDATE(2030, 700) | MAKEDATE(2030, 7000) | +---------------------+---------------------+----------------------+ | 2031-01-01 | 2031-12-01 | 2049-03-01 | +---------------------+---------------------+----------------------+
Argumento ausente
Chamando
MAKEDATE()
com o número errado de argumentos, ou sem passar nenhum argumento, resulta em um erro:SELECT MAKEDATE();
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKEDATE'
E outro exemplo:
SELECT MAKEDATE( 2020, 10, 20 );
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKEDATE'
Arranje um tempo
Veja também
MAKETIME()
para construir um valor de tempo a partir de suas horas, minutos e segundos.