在我的 node.js 应用程序中,我需要运行 Oracle 查询,如下所示:
var last_reported_date = '2016-05-09 18:16:59';
var query = 'SELECT "HpdHelpdesk".INCIDENTNUMBER,' +
'"HpdHelpdesk".SUBMITTER,' +
'"HpdHelpdesk".REPORTEDDATE,' +
'"HpdHelpdesk".LASTRESOLVEDDATE,' +
'"HpdHelpdesk".OWNERGROUP,' +
'"HpdHelpdesk".COMPANY,' +
'"HpdHelpdesk".CATEGORIZATIONTIER1,' +
'"HpdHelpdesk".CATEGORIZATIONTIER2,' +
'"HpdHelpdesk".CATEGORIZATIONTIER3,' +
'"HpdHelpdesk".RESOLUTIONCATEGORY,' +
'"HpdHelpdesk".RESOLUTIONCATEGORYTIER2,' +
'"HpdHelpdesk".RESOLUTIONCATEGORYTIER3,' +
'"HpdHelpdesk".REPORTEDSOURCE,' +
'"HpdHelpdesk".DESCRIPTION,' +
'"HpdHelpdesk".ID' +
' FROM "HpdHelpdesk" ' +
'WHERE "HpdHelpdesk".REPORTEDDATE > TO_DATE(' + last_reported_date + ',' + 'YYYY-MM-DD HH24:MI:SS)';
当我运行此命令时,出现以下 Oracle 错误:错误:ORA-00907:缺少右括号
格式化此类查询以避免此错误的正确方法是什么?
最佳答案
您仅从单个表中进行选择,因此无需为每个列名称添加表名称前缀。此外,您还缺少查询末尾的 TO_DATE
函数的上次报告日期和格式掩码周围的引号。
var last_reported_date = '2016-05-09 18:16:59';
var query = 'SELECT INCIDENTNUMBER,' +
'SUBMITTER,' +
'REPORTEDDATE,' +
'LASTRESOLVEDDATE,' +
'OWNERGROUP,' +
'COMPANY,' +
'CATEGORIZATIONTIER1,' +
'CATEGORIZATIONTIER2,' +
'CATEGORIZATIONTIER3,' +
'RESOLUTIONCATEGORY,' +
'RESOLUTIONCATEGORYTIER2,' +
'RESOLUTIONCATEGORYTIER3,' +
'REPORTEDSOURCE,' +
'DESCRIPTION,' +
'ID' +
' FROM "HpdHelpdesk" ' +
'WHERE REPORTEDDATE > TO_DATE( \'' + last_reported_date + '\', \'YYYY-MM-DD HH24:MI:SS\')';
关于javascript - 如何在 JavaScript 中正确引用 Oracle SQL 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37126462/