|
本帖最后由 zqcai 于 2012-3-14 22:52 编辑
日期格式转换成字符型
oracle里面Packge report传入的参数实际是字符型(不是Date),所以你必须把package参数p_begin_date设置成Varchar2类型,再根据需要把参数在package里面转成date类型;
1.
PROCEDURE abc_bpo_import (errbuf out varchar2,
retcode out varchar2,
p_date_f varchar2 default to_char(trunc(sysdate),'YYYY/MM/DD HH24:MI:SS'),
p_date_t varchar2 default to_char(trunc(sysdate)+1,'YYYY/MM/DD HH24:MI:SS'),
p_org_id number) is
....
我一般在package里面另外定义2个全局(局部都行)date型变量
d_date_f date;
d_date_t date;
初始值把参数的值再转换成date类型,把这两个新变量d_date_f,d_date_t当成参数使用
d_date_f :=to_date(p_date_f,'YYYY/MM/DD HH24:MI:SS');
d_date_t :=to_date(p_date_t,'YYYY/MM/DD HH24:MI:SS');
....两个新变量d_date_f,d_date_t在sql里面当参数使用:
and PLLA.need_by_date >= d_date_f -- 2012-03-12
and PLLA.need_by_date <= d_date_t -- 2012-03-12
2.
Concurrent Program参数p_begin_date,p_end_date的value set 那里设置成 FND_STANDARD_DATE; |
|