我在SQL Server 2012 Management Studio中的报警系统信号自动化平台数据库上运行查询,我遇到了一些小问题。
我的查询运行得很好,但我无法将结果细化到我想要的水平。
我选择了一些格式为DATETIME
的列,我只想取列中的值并从中减去4小时(即从GMT到EST),然后输出 值进入查询结果。
我可以找到关于DATESUB()
或类似命令的所有文档都显示了语法中具有特定DATETIME
的示例,并且我没有具体的内容,只有138,000行的列我想调整时区。
我是否遗漏了一些大的东西,或者我只是需要在操作查询结果后继续手动调整?此外,如果它有所不同,我有一个只读访问级别,并且对以任何方式更改表数据不感兴趣。
答案 0 :(得分:21)
嗯,对于初学者来说,你需要知道你并不仅限于在静态值上使用函数,你可以在列上使用它们。
看来你想要的只是:
SELECT DATEADD(HOUR,-4,YourColumnWithDateTimes)
FROM dbo.YourTable
答案 1 :(得分:-3)