将JavaScript中的日期从JavaScript插入MSSQL Server时出现MSSQL Server Node.js错误

时间:2019-06-13 14:44:27

标签: javascript node.js sql-server sql-server-2005

我在带有node-mssql模块的Javascript中使用node.js。我想创建一个Javascript新的Date()-Object,并在“ createdAt”字段中将日期设置为mssql-Server。这是我的查询:

const finishDoublettenAnzeige = async(req,res) => {
let requestObject = await createMSSQLConnection(mssql_doublettencheckui_config);
let date= new Date().toISOString().slice(0, 19).replace('T', ' ');

const query = 
`IF EXISTS (SELECT * FROM Doubletten WHERE documentId= ${req.params.id})
    UPDATE Doubletten SET done=1, createdAt=${date} where documentId=${req.params.id}
ELSE 
    INSERT INTO Doubletten (documentId, done, createdAt) VALUES(${req.params.id}, 1, '${date}')`;
    //requestObject.input('createdAt', sql.DateTime2, new Date());
await requestObject.query(query).then((result) => res.status(200).send(result)).catch(err=> res.status(404).send(err));
}

我有问题,MSSQL Server中类型为Datetime2的“ createdAt”字段中未插入任何内容。但是格式似乎正确:2019-06-13 14:39:56

编辑:我发现了错误,我在日期'${date}'周围缺少引号,因此该日期被识别为字符串

1 个答案:

答案 0 :(得分:0)

编辑:我发现了错误,我在日期'$ {date}'附近缺少引号,因此该日期被识别为字符串