我目前从我的查询中得到一个ORA-01841,我认为这可能是由于查询中的以下逻辑(我没有实现的东西)。尝试做以下逻辑是什么?
AND (EVENT_DAY_LOCAL BETWEEN ADD_MONTHS(TRUNC(TO_DATE('{2015/11/14}','YYYY/MM/DD'),'D'),-2)
AND TO_DATE('{2015/11/15}','YYYY/MM/DD')
OR EVENT_DAY_LOCAL BETWEEN ADD_MONTHS(TRUNC(TO_DATE('{2015/11/14}','YYYY/MM/DD'),'D'),-13)
AND (ADD_MONTHS(TRUNC(TO_DATE('{2015/11/15}','YYYY/MM/DD'),'D'),-12)-14)
答案 0 :(得分:1)
日期周围的括号会导致ORA-01841错误,因此请将其删除,如下所示,它应该运行。至于他们的查询是做什么的,它决定了周开始日期,只返回EVENT_DAY_LOCAL来自最近两个月或2014年10月8日到11月1日之间的记录。
--removing the brackets should fix the error
AND (EVENT_DAY_LOCAL BETWEEN ADD_MONTHS(TRUNC(TO_DATE('2015/11/14','YYYY/MM/DD'),'D'),-2)
AND TO_DATE('2015/11/15','YYYY/MM/DD')
OR EVENT_DAY_LOCAL BETWEEN ADD_MONTHS(TRUNC(TO_DATE('2015/11/14','YYYY/MM/DD'),'D'),-13)
AND (ADD_MONTHS(TRUNC(TO_DATE('2015/11/15','YYYY/MM/DD'),'D'),-12)-14)