首页 > 解决方案 > 将日期从 javascript 插入 MSSQL Server 时出现 MSSQL Server Node.js 错误

问题描述

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

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}'因此该日期被识别为字符串

标签: javascriptnode.jssql-serversql-server-2005

解决方案


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


推荐阅读