sql >> Base de Datos >  >> RDS >> MariaDB

Cómo funciona MAKEDATE() en MariaDB

En MariaDB, MAKEDATE() es una función de fecha y hora incorporada que devuelve una fecha, según el año y el día del año proporcionados como argumentos.

Sintaxis

La sintaxis es así:

MAKEDATE(year,dayofyear)

Ejemplo

He aquí un ejemplo:

SELECT MAKEDATE(2030, 10);

Resultado:

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

Y otro más:

SELECT MAKEDATE(2030, 100);

Resultado:

+---------------------+
| MAKEDATE(2030, 100) |
+---------------------+
| 2030-04-10          |
+---------------------+

Devolver una fecha en un año futuro

Si el segundo argumento (día del año) es mayor que el número de días del año, la fecha resultante es un año futuro.

Ejemplo:

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           |
+---------------------+---------------------+----------------------+

Cero Días

El segundo argumento (día del año) debe ser mayor que 0 o el resultado es null .

Ejemplo:

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 faltante

Llamando a MAKEDATE() con el número incorrecto de argumentos, o sin pasar ningún argumento, da como resultado un error:

SELECT MAKEDATE();

Resultado:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKEDATE'

Y otro ejemplo:

SELECT MAKEDATE( 2020, 10, 20 );

Resultado:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKEDATE'

Hágase un tiempo

Ver también MAKETIME() para construir un valor de tiempo a partir de sus horas, minutos y segundos.