【发布时间】:2022-01-23 10:33:15
【问题描述】:
select DATEADD(day,-1,cast(getdate() as date)) as yesterday
from dual;
我正在使用此查询从日期中减去一天,但这在我的 sql 服务器中显示无效标识符。能否请您提出一些替代方案。
【问题讨论】:
-
查询对我有用。 “双重”存在吗?
-
确保您拥有正确的架构。进入总是显式命名表模式的地方并不是一个坏习惯。例如
select DATEADD(day,-1,cast(getdate() as date)) as yesterday from dbo.dual; -
请注意,
GETDATE()返回服务器的本地日期,该日期可能不与您用户的日期相同。您永远不应该将本地日期+时间存储在数据库中:只存储 UTC 值(或基于 UTC 的值,例如datetimeoffset)除非您完全知道自己在做什么。 -
我正在使用 oracle
-
那你为什么用 sql server 而不是 oracle 来标记你的问题呢?
标签: sql sql-server