oracle自定义了个日期函数,这种写法有什么错误?

CREATE OR REPLACE function ORL_NOW_DATE ()
return DATE
is datatime DATE;
begin
datatime := select TO_DATE(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd') from dual;
return (datatime);
end;

你执行一遍,看报不报错。

这样写运行函数是可运行的:

CREATE OR REPLACE function ORL_NOW_DATE
return DATE
is datatime DATE;
begin
RETURN TO_DATE(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd');
end;

datatime := select TO_DATE(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd') from dual;

上面这一行改成下面这样

select TO_DATE(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd') into datatime from dual;

还有,你最后的 "return (datatime);",可以不要括号