PLS-00221 'to_date' 不是过程或未定义错误和转换日期由句点分隔
PLS-00221 'to_date' is not a procedure or undefined error and converting dates separated by period
我想将 varchar2 类型的 IN 参数转换为日期,以便我可以从数据库中提取两个输入日期之间的数据。我有一个问题和一个问题。
问题是我遇到了错误
"PLS-00221: to_date is not a procedure or undefined"
当我有以下代码时:
create or replace procedure display_users( pi_date1 in varchar2,
pi_date2 in varchar2,
po_userc out sys_refcursor) is
begin
if pi_date1 is not null then
to_date(pi_date1, 'DD/MM/YYYY HH24:MI:SS');
end if;
begin
open po_userc for
select ...
from ...
where ...
and ...
and t.inserted_date betweeen pi_date1 and pi_date2 ;
end;
end;
我对 pl/sql 程序不是很熟悉,我尝试了很多其他方法让它工作,但我做不到。
问题是在数据库中我的日期是这样的:'16.08.2018 10:30:48'(我无法更改数据库中的数据格式)
日期部分以句点 (.) 分隔。 to_date(pi_date1, 'DD/MM/YYYY HH24:MI:SS');
可以工作吗,因为日期由“/”分隔?
如错误消息所述,to_date
不是程序。 to_date
是一个函数,函数总是 returns 一个值。您必须将此值分配给变量。
declare
v_date date;
begin
v_date := to_date(pi_date1, 'DD/MM/YYYY HH24:MI:SS');
end;
/
转换为日期时需要注意格式。日、月和年、时、分和秒之间是否有分隔符?如果它是一个点 (.
) 那么你必须将它指定为一个格式。
如果您的字符串如下所示:01.01.2000 01:01:01
那么您的格式必须如下所示:'DD.MM.YYYY HH24:MI:SS'
如果您的字符串如下所示:01/01/2000 01:01:01
那么您的格式必须如下所示:'DD/MM/YYYY HH24:MI:SS'
我想将 varchar2 类型的 IN 参数转换为日期,以便我可以从数据库中提取两个输入日期之间的数据。我有一个问题和一个问题。
问题是我遇到了错误
"PLS-00221: to_date is not a procedure or undefined"
当我有以下代码时:
create or replace procedure display_users( pi_date1 in varchar2,
pi_date2 in varchar2,
po_userc out sys_refcursor) is
begin
if pi_date1 is not null then
to_date(pi_date1, 'DD/MM/YYYY HH24:MI:SS');
end if;
begin
open po_userc for
select ...
from ...
where ...
and ...
and t.inserted_date betweeen pi_date1 and pi_date2 ;
end;
end;
我对 pl/sql 程序不是很熟悉,我尝试了很多其他方法让它工作,但我做不到。
问题是在数据库中我的日期是这样的:'16.08.2018 10:30:48'(我无法更改数据库中的数据格式)
日期部分以句点 (.) 分隔。 to_date(pi_date1, 'DD/MM/YYYY HH24:MI:SS');
可以工作吗,因为日期由“/”分隔?
如错误消息所述,to_date
不是程序。 to_date
是一个函数,函数总是 returns 一个值。您必须将此值分配给变量。
declare
v_date date;
begin
v_date := to_date(pi_date1, 'DD/MM/YYYY HH24:MI:SS');
end;
/
转换为日期时需要注意格式。日、月和年、时、分和秒之间是否有分隔符?如果它是一个点 (.
) 那么你必须将它指定为一个格式。
如果您的字符串如下所示:01.01.2000 01:01:01
那么您的格式必须如下所示:'DD.MM.YYYY HH24:MI:SS'
如果您的字符串如下所示:01/01/2000 01:01:01
那么您的格式必须如下所示:'DD/MM/YYYY HH24:MI:SS'