首页 > 解决方案 > 使用 Node.js 的 Redshift 查询中的 DatetimeParseError

问题描述

我一直试图让这个 API 工作。我成功地传递了 companyID 的值,但同样的方法不适用于 dateID。

我尝试将其声明为:

var dateID = 20190610;
var dateID = "20190610";

在查询中我都尝试了:

'${dateID}'
${dateID}

我已经尝试过以上 4 的组合。似乎没有什么对我有用。而如果 20190610 直接在查询中传递,它可以工作。任何输入将不胜感激。

app.post("/abcd", (req, res) => {
    console.log("test");
    var companyID = "56210";
    var dateID = 20190610;
    redshiftClient.connect(function (err) {
        redshiftClient.query(
            "select company_id as COMPANY,user_id as USERNAME,label as Associate,original_timestamp as Login_Time from sample.account_operation where company_id in ('${companyID}') and label like 'login' and DATE(original_timestamp)>= ('${dateID}') and user_id not like '%@sample%'",
            function (err, data) {
                if (err) throw err;
                else {
                    console.log(data);
                    redshiftClient.close();
                }
            }
        );
    });
});

标签: node.jsexpressamazon-redshiftnode-modulesamazon-redshift-spectrum

解决方案


改变

>= ('${dateID}')

>='${dateID}'

推荐阅读