Al usar MySQL, puede usar MAKEDATE()
función para devolver una fecha de las partes año y día del año.
En otras palabras, proporciona dos argumentos; siendo uno el año y el otro el día del año. El MAKEDATE()
la función luego devolverá el valor de fecha basado en esos dos argumentos.
Sintaxis
La sintaxis es así:
MAKEDATE(year,dayofyear)
Donde year
es la parte del año, y dayofyear
es la parte del día del año.
Ejemplo 1:uso básico
Aquí hay un ejemplo para demostrarlo.
SELECT MAKEDATE(2021,10);
Resultado:
+-------------------+ | MAKEDATE(2021,10) | +-------------------+ | 2021-01-10 | +-------------------+
Entonces porque 10
significa el día 10 del año, esto significa que es el 10 de enero.
Ejemplo 2:un mayor valor de día del año
Aquí hay un ejemplo que usa un valor de día del año mayor.
SELECT MAKEDATE(2021,350);
Resultado:
+--------------------+ | MAKEDATE(2021,350) | +--------------------+ | 2021-12-16 | +--------------------+
Entonces, en este caso, el día 350 del año da como resultado el 16 de diciembre.
También puede utilizar valores superiores a 365 (o 366 para años bisiestos). Si hace esto, el resultado cambiará a un nuevo año calendario según sea necesario.
SELECT MAKEDATE(2021,500), MAKEDATE(2021,5000);
Resultado:
+--------------------+---------------------+ | MAKEDATE(2021,500) | MAKEDATE(2021,5000) | +--------------------+---------------------+ | 2022-05-15 | 2034-09-09 | +--------------------+---------------------+
Ejemplo 3:Años bisiestos
Tenga en cuenta los años bisiestos cuando utilice esta función.
SELECT MAKEDATE(2020,350), MAKEDATE(2021,350);
Resultado:
+--------------------+--------------------+ | MAKEDATE(2020,350) | MAKEDATE(2021,350) | +--------------------+--------------------+ | 2020-12-15 | 2021-12-16 | +--------------------+--------------------+
En este caso, 2020 es un año bisiesto. Y debido a que febrero tiene un día adicional durante los años bisiestos, esto afecta el resultado de los valores restantes del día del año.
Ejemplo 4:valores cero
Si proporciona un valor cero, el resultado es NULL
.
SELECT MAKEDATE(2020,0);
Resultado:
+------------------+ | MAKEDATE(2020,0) | +------------------+ | NULL | +------------------+