帮助ORA-00933:SQL命令也没有正确结束

IEl*_*ite 0 delphi oracle delphi-7 ora-00933

如果我使用Oracle的SQL Developer运行以下SQL.

select payee_id, to_char(check_date,'d') as DOW,  
(cmcl_bank_cleared - check_date) as DateDiff from AP_Master  
where (cmcl_bank_cleared is not null) AND ((cmcl_bank_cleared - check_date) >=1)  
order by payee_address_zip, DOW, DateDiff  
Run Code Online (Sandbox Code Playgroud)

它工作正常,但是当我尝试使用Delphi时

SQL.Add('select payee_id, to_char(check_date, ' + QuotedStr('d') + ') as DOW, ');
SQL.Add('(cmcl_bank_cleared - check_date) as DateDiff from AP_Master ');
SQL.Add('where (cmcl_bank_cleared is not null) AND ((cmcl_bank_cleared - check_date) >=:DaysParam))');
SQL.Add('order by payee_id, DOW, DateDiff;');
Run Code Online (Sandbox Code Playgroud)

我收到"ORA-00933:SQL命令也未正确结束"错误消息

小智 5

看看DayParams之后的双括号.您没有在SQL Developer SQL中使用它.为避免将StackOverflow用作Oracle SQL拼写检查程序,您可以:

  1. 使用SQL编辑器并在那里粘贴查询文本
  2. 使用字符串常量并将其分配为整数,而不是逐行分配