在串联字符串中包含单引号 - Javascript

时间:2017-05-09 12:41:39

标签: javascript node.js

我正在尝试使用Javascript为Oracle查询生成比较操作数,但是查询会在我有单引号的地方继续显示转义字符。关于如何解决这个问题的任何建议都将非常感激。

let compOperands = "to_date('" + (moment(timeStamp).format("D-MMM-YYYY HH:mm:ss") + "', 'dd-mon-yyyy hh24:mi:ss')");

控制台:

to_date('9-May-2017 06:41:54', 'dd-mon-yyyy hh24:mi:ss')

一旦我将它连接到另一个字符串,转义字符就会出现:

updateQuery = [(queries[queryName].query[0].concat(compOperands))];

控制台:

SELECT * FROM IVR_LZ_CALL_LEG WHERE START_TS > to_date(\'9-May-2017 06:32:32\', \'dd-mon-yyyy hh24:mi:ss\')

编辑: 好吧,我将这一点扩展了一点,当字符串放入数组时,似乎会发生字符的添加。我重构了上面的连接,所以我可以逐步完成控制台中发生的事情。

let updateQuery = [],
queryString = queries[queryName].query[0].concat(compOperands);

updateQuery.push(queryString);


 options.json.queries = updateQuery;
  console.log(queryString);
  console.log(updateQuery);

控制台:

SELECT * FROM IVR_LZ_CALL_LEG WHERE START_TS > to_date('9-May-2017 06:59:27', 'dd-mon-yyyy hh24:mi:ss') [ 'SELECT * FROM IVR_LZ_CALL_LEG WHERE START_TS > to_date(\'9-May-2017 06:59:27\', \'dd-mon-yyyy hh24:mi:ss\')' ]

0 个答案:

没有答案