簡體   English   中英

Oracle SQL:TO_DATE邏輯

[英]Oracle SQL: TO_DATE Logic

我目前正在從查詢中獲取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)

日期周圍的方括號引起ORA-01841錯誤,因此請如下所示將其刪除,然后方括號會運行。 至於他們查詢的內容,它確定的是星期幾的開始日期,並且僅返回EVENT_DAY_LOCAL來自最近兩個月或2014年10月8日至11月1日之間的記錄。

SQL邏輯的小提琴

--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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM