2013-10-21 47 views
0

我正在嘗試檢索上一個星期一,當給定日期是星期一時,下面是代碼。正在檢索上一個星期一,但結果集中沒有數據

select 
    Case 
    when 
     to_char(to_date('21/10/2013','dd/mm/yyyy'), 'DAY') = 'MONDAY' 
    then to_date(next_day(to_date('21/10/2013','dd/mm/yyyy')-7,'Tuesday') - 1, 'dd/mm/yyyy') 
    END 
from dual 

查詢正在執行,結果是一條記錄,但記錄完全是空的。

我很困惑爲什麼結果集中沒有數據。

請幫我解決這個問題。

+1

可能重複http://stackoverflow.com/questions/13269676/issue-when-comparing-result- (日期到字符串) – Noel

+0

另外,NEXT_DAY的返回類型是'date'。所以你不應該對它使用to_date函數。可能你想使用to_char。 – Noel

+0

@Ramblin Man謝謝你的回覆..改成to_char仍然結果一樣。 – Siva

回答

0

在聲明之前使用了Trim並解決了問題。

trim(to_char(to_date(SYSDATE,'dd/mm/yyyy'), 'DAY')) = 'MONDAY' 
[比較爲\ _char(數值指明MyDate, '日')將字符串結果,當發行](的
相關問題