我想要对2个日期(当前日期和hairdressing_date)进行子结构,以从表中获得结果,以表示过去2年的数据。我有下面的SELECT语句:
SELECT count(c_id)
INTO counter
FROM RESERVATIONS r
WHERE r.customer_id = 1
AND (Sysdate - r.hairdressing_date) / 365 < 2;
这是自定义的,但我不确定'/365'部分的代码。
如何正确获取所需数据?你能写出这一行的正确实现吗?
请使用MONTHS_BETWEEN()
函数:
SELECT MONTHS_BETWEEN(TRUNC(SYSDATE), TO_DATE('22.01.2019', 'DD.MM.YYYY'))/12
FROM DUAL;
并根据您的情况恢复到这个:
SELECT count(c_id)
INTO counter
FROM RESERVATIONS r
WHERE r.customer_id = 1
AND MONTHS_BETWEEN(TRUNC(SYSDATE), hairdressing_date)/12 < 2;