Oracle DB에서 날짜를 대체하는 방법은 무엇입니까? [복제]
Jan 23 2021
지난 2 년 동안의 데이터를 나타 내기 위해 테이블에서 결과를 얻기 위해 2 개의 날짜 (현재 날짜 및 미용 _ 날짜)를 대체하고 싶습니다. 다음 SELECT 문이 있습니다.
SELECT count(c_id)
INTO counter
FROM RESERVATIONS r
WHERE r.customer_id = 1
AND (Sysdate - r.hairdressing_date) / 365 < 2;
사용자 지정이지만 코드의 '/ 365'부분에 대해 잘 모르겠습니다.
필요한 데이터를 올바르게 얻는 방법은 무엇입니까? 이 줄의 올바른 구현을 작성할 수 있습니까?
답변
2 ThomasKirchhoff Jan 23 2021 at 03:05
다음 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;