【发布时间】:2014-09-17 00:29:44
【问题描述】:
我有这个程序:
create or replace Procedure return_rows_LECTURE_BY_DATE (in_date in date, out_cursor OUT SYS_REFCURSOR) As
Begin
OPEN out_cursor for
select *
FROM COURSE_LECTURE
WHERE LECT_DATE_TIME_START >= to_timestamp(in_date, 'dd-mm-yyyy')
and LECT_DATE_TIME_START < to_timestamp(in_date+1, 'dd-mm-yyyy')
ORDER BY LECT_DATE_TIME_START;
End;
输入:日期,输出:该日期的讲座。 表(视图)中的日期是 TIMESTAMP。
我想运行这个程序。我试过这个:
declare
k SYS_REFCURSOR;
--t DATE:= to_date('2010-12-14:09:56:53', 'YYYY-MM-DD:HH24:MI:SS') ;
res COURSE_LECTURE%rowtype;
begin
return_rows_LECTURE_BY_DATE(to_date('2010-12-14', 'YYYY-MM-DD'),k);
loop
FETCH k into res;
Exit when k%notFound;
DBMS_OUTPUT.PUT_LINE(res.COURSE_NAME );
end loop;
end;
但是我收到了这个错误:
错误报告 - ORA-01830: 日期格式图片在转换前结束 整个输入字符串 ORA-06512:在“HR.RETURN_ROWS_LECTURE_BY_DATE”, 第 4 行 ORA-06512:第 6 行 01830. 00000 - “日期格式图片在转换整个输入字符串之前结束”
【问题讨论】:
标签: sql oracle date timestamp procedure