¿Cómo subestructurar fechas en Oracle DB? [duplicar]
Quiero subestructurar 2 fechas (fecha actual y peluquería_fecha) para obtener el resultado de la tabla para representar los datos durante los últimos 2 años. Tengo la siguiente declaración SELECT:
SELECT count(c_id)
INTO counter
FROM RESERVATIONS r
WHERE r.customer_id = 1
AND (Sysdate - r.hairdressing_date) / 365 < 2;
Es personalizado, pero no estoy seguro de la parte '/ 365' del código.
¿Cómo obtener los datos necesarios correctamente? ¿Podría escribir la implementación correcta de esta línea?
Respuestas
2 ThomasKirchhoff
Utilice una MONTHS_BETWEEN()
función como esta:
SELECT MONTHS_BETWEEN(TRUNC(SYSDATE), TO_DATE('22.01.2019', 'DD.MM.YYYY'))/12
FROM DUAL;
y vuelva a este considerando su caso:
SELECT count(c_id)
INTO counter
FROM RESERVATIONS r
WHERE r.customer_id = 1
AND MONTHS_BETWEEN(TRUNC(SYSDATE), hairdressing_date)/12 < 2;