1

我有一个 where 子句,我试图用这样的参数获取某个范围内的日期,

 (AL.INSERTED_DATE BETWEEN (:begindate) AND (:enddate))

问题是我需要在开始日期前六个月得到一个错误,ORA-00904:“DATEADD”:无效标识符,当我尝试时,

 (AL.INSERTED_DATE BETWEEN DATEADD(Month,-6,(:begindate)) AND (:enddate))

谁能指出我可能做错了什么?

4

2 回答 2

1

你没有使用 SQL Server,你使用的是 Oracle——这就是为什么它给你一个 Oracle 格式的错误。

http://psoug.org/definition/ADD_MONTHS.htm

ADD_MONTHS 可能是您在这里尝试做的最好的等价物 -

  (AL.INSERTED_DATE BETWEEN ADD_MONTHS((:begindate),-6) AND (:enddate))
于 2013-07-17T20:17:22.020 回答
0

检查此解决方案:

Oracle (10g) 相当于 DATEADD(weekday, -3, GETDATE())

于 2013-07-17T20:14:47.100 回答