【问题标题】:Migrate Oracle view to SQL Server将 Oracle 视图迁移到 SQL Server
【发布时间】:2020-07-06 18:00:10
【问题描述】:
我曾在 Oracle 中将此用作 Where 条件
(ProjectDate between trunc(sysdate-1)+15/24 and trunc(sysdate)+8/24)
我试图将视图转换为 SQL Server,我曾经尝试过
ProjectDate between (GetDate()-1)+15/24 and (GetDate())+8/24
我不确定是否使用了正确的功能?
【问题讨论】:
标签:
sql-server
tsql
date-arithmetic
【解决方案1】:
您需要使用以下表达式:
ProjectDate between
DATEADD(HOUR,15,CONVERT(DATETIME, CONVERT(DATE, GETDATE())) - 1)
and DATEADD(HOUR,8,CONVERT(DATETIME, CONVERT(DATE, GETDATE())))
DATEADD:DATEADD() 函数将时间/日期间隔添加到日期,然后返回日期。
CONVERT(DATETIME, CONVERT(DATE, GETDATE())) 在 oracle 中返回与 TRUNC(SYSDATE) 相同的结果