我正在运行的查询收到错误。我的错误是"数据类型不一致:预期数字得到日期" 我能够在SQL Server中成功做到这一点,所以我查找了如何更新Oracle语法的查询,但我遇到了问题。
我尝试TO_DATE日期字段减去 SYSDATE 的 TO_DATE,然后尝试将其除以 365 作为一年中的天数。
SELECT min.Contact,
min.MIN_DATE,
COUNT(giv.ID) AS COUNT,
SYSDATE,
TO_DATE(min.MIN_DATE,'YYYY-MM-DD')-TO_DATE(SYSDATE,'YYYY-MM-DD') AS DATEDIFF,
COUNT(giv.ID)/(TO_DATE(min.MIN_DATE,'YYYY-MM-DD')-TO_DATE(SYSDATE,'YYYY-MM-DD')/365)
FROM giv JOIN min
ON giv.Contact=min.Contact
GROUP BY min.Contact,min.MIN_DATE;
这是括号。除法优先于减法。试试这个:
COUNT(giv.ID)/((TO_DATE(min.MIN_DATE,'YYYY-MM-DD')-TO_DATE(SYSDATE,'YYYY-MM-DD'))/365)