我想查询两个日期之间的数据。第一个日期始终是一年的开始(例如2018年1月1日),第二个日期将是系统日期。问题是,当年份更改时,第一个日期将动态更改,例如2018年1月1日将动态更改为2019年1月1日。
我进行了查询,但我不知道如何动态安排首次约会。
SELECT *
FROM id_certs
where PERIOD BETWEEN to_date('01-Jan-2018', 'dd-mon-yyyy') and TO_DATE(SYSDATE);
答案 0 :(得分:0)
DECLARE
year_end_date DATE;
year_start_date DATE;
new_start_date DATE;
text_field DATE;
BEGIN
SELECT add_months(trunc(sysdate,'YYYY')-1,12) into year_end_date FROM dual;
SELECT TRUNC(SysDate,'YEAR') into year_start_date FROM Dual;
SELECT add_months(trunc(sysdate,'YYYY')-1,12) + 1 into new_start_date FROM dual;
IF year_end_date = SYSDATE THEN
text_field := new_start_date;
ELSE
text_field := year_start_date;
END IF;
select * from table_name where column_name between text_field and sysdate;
END;
I made this somebody help me to correct this i am not able to fetch data, i am new in pl sql please help.