currDate VARCHAR2(4000);
SELECT to_date(SYSDATE, 'DD/MM/YYYY') into currDate
FROM DUAL;
在oracle中执行上述语句后出现错误
ORA-00905:缺少关键字 00905. 00000 - "缺少关键字"
请帮助我解决它。 谢谢
答案 0 :(得分:2)
如果要将值存储在变量中,请使用下面的内容
variable currDate varchar2(100);
exec :currDate:=to_char(SYSDATE, 'DD/MM/YYYY');
select :currDate from dual;
:CURRDATE
----------
13/05/2014
或者您可以使用匿名pl / sql块来执行此操作
set serveroutput on
declare
currDate varchar2(100);
begin
SELECT to_char(SYSDATE, 'DD/MM/YYYY') into currDate FROM DUAL;
dbms_output.put_line(currDate);
end;
/
答案 1 :(得分:1)
这是SQL和PL / SQL(SQL的过程扩展)之间的区别。 你写的是pl / sql块的语法。 PL/SQL块的一般形式是
declare
...
begin
/* your code */
exception
....
end;
/
如果需要为变量赋值,SQL中的一般语法是
声明变量variable currDate varchar2(100);
为变量exec :currDate:=to_char(SYSDATE, 'DD/MM/YYYY');
此变量:currDate
是全局的,可以在整个会话中使用。