Я использую v6.3.1 узла mssql. Мой запрос включает несколько столбцов типа date. В узле mssql выходные данные всех столбцов даты имеют формат: 2020-10-20T00:00:00.000Z Когда я делаю тот же запрос в Azure Data Studio, я получаю: 2020-10-20
Моя проблема заключается в том, что мне нужно обновить базу данных, поскольку я получаю сообщение об ошибке в формате ГГГГ-ММ-ДД. есть ли способ обновить базу данных без необходимости проверять каждое поле, если это дата, а затем добавлять к нему 0T00:00:00.000Z?
Текущий код таков:
// Запускается при запуске сервера
const sql = require('mssql')
const poolPromise = sql.connect({
server: process.env.SQL_SERVER,
user: process.env.SQL_USER,
password: process.env.SQL_PASSWORD,
database: process.env.SQL_DATABASE
})
// Выполняется при запросе
async function updateSqlRecord(fields) {
// Adding fields below for demonstration
let fields = {id: 1, name: 'test', date: '2020-10-12' }
let database = process.env.SQL_DATABASE
let table = 'Test'
let querystring = `UPDATE [${database}].[dbo].[${table}] SET `
Object.entries(fields).forEach(field => {
const [key, value] = field;
querystring += `${key} = '${value}', `
});
querystring = querystring.slice(0, -2)
querystring += ` WHERE projektNr = ${fields.projektNr}`
try {
let pool = await poolPromise
let result = await pool.request()
// .input('projektNr', sql.Int, value)
.query(querystring)
console.log(result)
return result.rowsAffected
} catch (err) {
console.log('SQL request Error',err)
}
}