在查询页面中有一个时间下拉列表 当天、本月、最近一个月、最近三个月。最近一个月、最近三个月传的值是yyyy-mm-dd的形式,与数据库中的相应时间字段对应,类型为VARCHAR2(10)(YYYY-MM-DD)。除此之外,还有其他查询字段。在用存储过程实现查询的过程中,可实现 最近一个月,最近三个月查询,关键的代码如下:
PROCEDURE QUERY_BY_PAGE_EDI1(
in_estimate_date IN VARCHAR2, ----对应页面的时间下拉列表选项
...... --其它变量定义
is
begin
...... --其它变量赋值 select count(表的主键) --记录中查询数
from 表
WHERE to_date(ESTIMATE_DATE,'yyyy-mm-dd')< to_date(in_estimate_date ,'yyyy-mm-dd') --ESTIMATE_DATE为表中的时间字段
OPEN cur_edi FOR
SELECT
...... --选择字段
FROM ( SELECT TEMP_TABLE.*, ROWNUM ROWNUM_ FROM (
SELECT
...... --选择字段
From 表
WHERE ...... --其它条件
AND to_date(ESTIMATE_DATE,'yyyy-mm-dd')< to_date(in_estimate_date,'yyyy-mm-dd')
...... --其它条件
)
END;
如何完善该存储过程,使得可以查询当天和当月的记录,包括页面中选择 当天 或者 当月 时该传什么值??
PROCEDURE QUERY_BY_PAGE_EDI1(
in_estimate_date IN VARCHAR2, ----对应页面的时间下拉列表选项
...... --其它变量定义
is
begin
...... --其它变量赋值 select count(表的主键) --记录中查询数
from 表
WHERE to_date(ESTIMATE_DATE,'yyyy-mm-dd')< to_date(in_estimate_date ,'yyyy-mm-dd') --ESTIMATE_DATE为表中的时间字段
OPEN cur_edi FOR
SELECT
...... --选择字段
FROM ( SELECT TEMP_TABLE.*, ROWNUM ROWNUM_ FROM (
SELECT
...... --选择字段
From 表
WHERE ...... --其它条件
AND to_date(ESTIMATE_DATE,'yyyy-mm-dd')< to_date(in_estimate_date,'yyyy-mm-dd')
...... --其它条件
)
END;
如何完善该存储过程,使得可以查询当天和当月的记录,包括页面中选择 当天 或者 当月 时该传什么值??
add_months(sysdate,-3)最近三个月