Используя Node + ms sql, мне нужно получить смещение для даты, возвращаемой с SQL Сервер для этого запроса:
SELECT getutcdate() AT TIME ZONE 'UTC' AT TIME ZONE 'Mountain Standard Time'
Проблема он выходит из mssql / tedious, уже проанализированного как объект JavaScript Date (), для которого задан часовой пояс сценария / хоста. Нет никакого способа увидеть, в каком часовом поясе / смещении находится исходное значение.
Другие инструменты, такие как Azure Data Studio, правильно отображают необработанное значение в таблице для столбцов DateTimeOffset. включая отображение сохраненного смещения.
Вывод в узле:
[ { value: 2020-03-21T03:07:54.193Z } ]
Вывод в Azure Data Studio:
2020-03-20 21:07:22.9970000 -06:00
Код:
const sql = require('mssql');
sql.connect('mssql://sa:<password>@localhost?useUTC=false')
.then(() => {
const request = new sql.Request();
request.query(query, (err, result) => {
console.dir(result.recordset)
});
});