node.js - Sequelize.select 返回错误的日期
问题描述
我正在尝试为现有数据库创建一个 Web(反应/续集)前端。
当我从数据库中执行选择时,sequelize 中的返回结果的日期为 1 (-1)。
以下是用于获取数据的 SQL 和代码:
let sql1 = 'SELECT count(RECEIVED_DATE) as CallCount, CAST(RECEIVED_DATE AS DATE) as CallDate FROM TowCalls WHERE OFFICE_ID = ? AND (RECEIVED_DATE BETWEEN dateadd(day,?, GETDATE()) AND GETDATE()) group by CAST(RECEIVED_DATE AS DATE) ORDER BY CAST(RECEIVED_DATE AS DATE)';
models.sequelize.query(sql1, { replacements: [id, -7], type: models.sequelize.QueryTypes.SELECT })
.then(function(summary) {
当我将摘要输出到控制台时,我得到:
[
{ CallCount: 22, CallDate: '2020-12-16' },
{ CallCount: 36, CallDate: '2020-12-17' },
{ CallCount: 20, CallDate: '2020-12-18' },
{ CallCount: 12, CallDate: '2020-12-19' },
{ CallCount: 28, CallDate: '2020-12-20' },
{ CallCount: 13, CallDate: '2020-12-21' },
{ CallCount: 1, CallDate: '2020-12-22' }
]
当我在 SQL Server 本身中使用相同的查询时,我得到相同的计数,但所有日期都是 +1。
虽然我从未专门设置它,但我相信日期在 EST 时区的 SQL 中。
数据库的所有用户都在同一个时区,所以我不必担心跟踪任何更改。
解决方案
推荐阅读
- bash - 正确使用grep
- amazon-web-services - 将 AWS CLI 从 1 更改为 2
- node.js - 如何使用路由参数和查询参数在 express 中创建 api
- javascript - 递归修剪对象中所有元素的更好方法?
- android - Flutter中——如何传递从url下载的图片
- java - 将类型为 class 的变量分配给扩展声明的变量类型的不同类
- wpf - 刷新视图时,CollectionView.filter 委托未触发
- python-3.x - 从 varchar2 到日期的 Python cx_oracle 转换 - 错误“sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-01861”
- python - Google 功能无法使用来自 oauth2client 的服务帐户
- javascript - Node.js REST API 部署到云服务器