如何在JavaScript中正确引用Oracle SQL字符串
在我的node.js应用程序中,我需要运行Oracle查询,如下所示:如何在JavaScript中正确引用Oracle SQL字符串,javascript,node.js,oracle,Javascript,Node.js,Oracle,在我的node.js应用程序中,我需要运行Oracle查询,如下所示: var last_reported_date = '2016-05-09 18:16:59'; var query = 'SELECT "HpdHelpdesk".INCIDENTNUMBER,' + '"HpdHelpdesk".SUBMITTER,' + '"HpdHelpdesk".REPORTEDDATE,' + '"HpdHelpdesk".LASTRESOLVE
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\')';
您仅从单个表中进行选择,因此不需要在每个列名前面加上表名。此外,在查询结束时,
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\')';
添加到MTO的答案中,您需要为每个换行符添加空格,这样您就不会得到一个没有空格的长字符串:
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\')';
添加到MTO的答案中,您需要为每个换行符添加空格,这样您就不会得到一个没有空格的长字符串:
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\')';