sql-server - 存储在 SQL Server DB 中的 DateTime 不考虑夏令时。当我把它拉出来时,我该如何解决这个问题?
问题描述
我无法控制 EST 中的日志日期时间的机器。它不会切换到夏令时。当我提取数据时,它会将我所有的报告都搞砸一个小时。有没有办法在我的查询中解决这个问题?使用 SQL Server 2014。
解决方案
您可以使用 CASE 修复您的查询:
SELECT col1, col2,
CASE WHEN (date_col BETWEEN ... AND ...)
OR (date_col BETWEEN ... AND ...)
OR (date_col BETWEEN ... AND ...)
THEN DATEADD(HOUR, 1, date_col) ELSE date_col END AS date_col
FROM tab_name;
我还将更新现有值并修复从应用程序中保存的问题,以避免将来出现这种情况。
推荐阅读
- amazon-cloudformation - 使用 CloudFormation 读取机密
- javascript - 检测 IP 连接和断开连接
- c++ - A program to create a lottery game that creates 10 sets without any duplicates, efficiently?
- heroku - 在 Dreamweaver 和 Heroku 中可视化时页面大小发生变化
- jenkins - 使用通用 Webhook 参数检出 bitbucket 拉取请求的 GIT SCM 配置
- azure - Azure Active Directory 跨多个域自动登录
- php - 有没有办法在 Symfony 4 中用 Doctrine 2 实现多态关系
- python - 尝试执行 yt = YouTube(url) 时 pytube 模块出错
- php - 无法通过 w3schools 或 ajax 实时搜索在我的网站上创建搜索栏
- java - 如何从圆中的x和y坐标中找到扇区