使用“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;
查询本身是一个联合查询,我可以运行各个部分'硬编码值就好了。由于某种原因,似乎无法接受变量。
答案 0 :(得分:0)
正确的语法是:
declare
DateFrom varchar2(20):= TO_CHAR(sysdate, 'YYYYMONDD');
...