Oracle声明了变量语法

时间:2014-04-25 13:48:19

标签: oracle

使用“SQL Navigator”将SQL转换为Oracle,以在声明变量时测试并运行语法问题。已阅读其他相关帖子,但似乎没有任何工作。

目标是将变量“strDate”设置为当前日期,格式为YYYYMMDD格式的字符串。

我尝试的代码是:

declare 
strDate := TO_CHAR(sysdate, 'YYYYMONDD');

BEGIN
SELECT ColumnA a, ColumnB b, ColumnC c
from table1, table2
where stringcolumn = strDate;
end;

错误结果是: " ORA-06550;第2行第10列:......遇到符号" ="期待的时候......"

也尝试过:

var strDate varchar2(8)
exec :strDate := TO_CHAR(sysdate, 'YYYYMONDD')

BEGIN
SELECT....;
end;

查询本身是一个联合查询,我可以运行各个部分'硬编码值就好了。由于某种原因,似乎无法接受变量。

1 个答案:

答案 0 :(得分:0)

正确的语法是:

declare 
   DateFrom varchar2(20):= TO_CHAR(sysdate, 'YYYYMONDD');
...