我有一个 where 子句,我试图用这样的参数获取某个范围内的日期,
(AL.INSERTED_DATE BETWEEN (:begindate) AND (:enddate))
问题是我需要在开始日期前六个月得到一个错误,ORA-00904:“DATEADD”:无效标识符,当我尝试时,
(AL.INSERTED_DATE BETWEEN DATEADD(Month,-6,(:begindate)) AND (:enddate))
谁能指出我可能做错了什么?
我有一个 where 子句,我试图用这样的参数获取某个范围内的日期,
(AL.INSERTED_DATE BETWEEN (:begindate) AND (:enddate))
问题是我需要在开始日期前六个月得到一个错误,ORA-00904:“DATEADD”:无效标识符,当我尝试时,
(AL.INSERTED_DATE BETWEEN DATEADD(Month,-6,(:begindate)) AND (:enddate))
谁能指出我可能做错了什么?
你没有使用 SQL Server,你使用的是 Oracle——这就是为什么它给你一个 Oracle 格式的错误。
http://psoug.org/definition/ADD_MONTHS.htm
ADD_MONTHS 可能是您在这里尝试做的最好的等价物 -
(AL.INSERTED_DATE BETWEEN ADD_MONTHS((:begindate),-6) AND (:enddate))