存储在SQL Server数据库中的DateTime不考虑夏令时。当我拔出它时,我该如何解决这个问题?

时间:2018-06-14 20:00:05

标签: sql-server datetime dst

我在EST中无法控制日志日期时间的计算机。它不会切换夏令时。当我提取数据时,它会将我的所有报告搞砸一小时。有没有办法在我的查询中解决这个问题?使用SQL Server 2014。

1 个答案:

答案 0 :(得分:0)

您可以使用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;

我还会更新现有值并修复应用程序中的保存,以避免将来出现这种情况。