我有以下脚本用于循环查询并将结果导出到excel文件中。
begin
for months in 0..12 loop
data_dump( query_in => 'select count(*) from reservation where trunc(update_date) between (select add_months(TRUNC(SYSDATE), -(months) ) from dual) and (select add_months(TRUNC(SYSDATE),-(months+1)) from dual)',
file_in => 'excel_'||months||'.csv',
directory_in => 'C:\Users\Administrator\Desktop\test',
delimiter_in => '|' );
end loop;
end;
data_dump是将结果导出到excel文件的过程。
我正在努力制作我使用动态的公式,如下所示:
(select add_months(TRUNC(SYSDATE), -(months) ) from dual)
months
变量来自循环,但是当我运行查询时,它会变成错误。
欢迎使用语法帮助。
答案 0 :(得分:2)
我相信问题就在这里:
'select count(*)
from reservation
where trunc(update_date) between
(select add_months(TRUNC(SYSDATE), -(months) ) from dual)
and (select add_months(TRUNC(SYSDATE),-(months+1)) from dual)'
在你的情况下,'月'只是文字。您需要以这种方式改变表达式:
'select count(*)
from reservation
where trunc(update_date) between
(select add_months(TRUNC(SYSDATE), -('|| months ||') ) from dual)
and (select add_months(TRUNC(SYSDATE),-('|| months+1 ||')) from dual)'
答案 1 :(得分:0)
尝试几个月|' ||月||''动态获取价值