Consulta SQL para comparar la fecha actual con los resultados coincidentes.
Tengo el requisito de verificar si la fecha de hoy es igual a la fecha de creación + 25 días. Mi DB es Oracle 11g.
Si los datos del empleado se crean el 1 de noviembre, la condición debe ser hoy = (1 de noviembre, 25).
Mi formato de fecha es 03-NOV-17 12.18.11.307000000.
Intenté esta consulta pero no funciona:
select *
from employee
where trunc(sysdate) = to_date(create_date, 'DD/MMM/YY') + 25;
También intenté dateadd
, pero muestra un error “no reconocido”.
Gracias.
davy.ai
Gracias por contactarnos con su pregunta.
Para verificar si la fecha de hoy es igual a la fecha de creación + 25 días, puede modificar su consulta para usar la función
ADD_MONTHS
en lugar de agregar un número fijo de días. Aquí hay un ejemplo de consulta que debería funcionar:Algunas cosas a tener en cuenta:
TO_DATE
se utiliza para convertir la columnacreate_date
de una cadena a un tipo de datosDATE
adecuado.TRUNC
se utiliza para eliminar el componente de tiempo de ambas fechas para la comparación.ADD_MONTHS
se utiliza para agregar un mes a la fecha de creación, lo que efectivamente establece el día en el último día del mismo mes (NOV 30
en este caso).TRUNC
nuevamente para redondear la fecha a la medianoche antes de agregar 25 días.¡Espero que esto ayude! Avíseme si tiene alguna pregunta adicional.