日期:2014-05-17  浏览次数:20780 次

存储过程传日期参数无法查询数据?
本帖最后由 leech125 于 2012-12-07 16:49:14 编辑
我执行以下代码row_count=0
declare
  row_count number;
  END_DATE  DATE; --进出数量累计计算结束时间
begin

  END_DATE  := SYSDATE; 
  row_count := 0;

  select count(*)
    into row_count where  passdate < end_date
    from table ;
end;

我执行以下代码row_count > 0
declare
  row_count number;
begin

  row_count := 0;

  select count(*)
    into row_count where  passdate < SYSDATE
    from table ;
end;

两者区别是什么?
------解决方案--------------------
先 SET SERVEROUTPUT ON
然后 
declare
row_count number;
END_DATE  DATE; 
begin
END_DATE  := SYSDATE;
row_count := 0;
select count(*)
into row_count
from sapdt_wakh  where  logdate < end_date;
dbms_output.put_line('this is the count:'
------解决方案--------------------
to_char(row_count));
end;
------解决方案--------------------

  END_DATE  := SYSDATE;  
这样子赋值的话,END_DATE的值就是  NLS_DATE_FORMAT里面设置的格式
------解决方案--------------------
引用:
END_DATE  := SYSDATE;  
这样子赋值的话,END_DATE的值就是  NLS_DATE_FORMAT里面设置的格式

END_DATE   定义成 timestamp 估计可以吧