MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Como MAKEDATE() funciona no MariaDB


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.