2013-10-21 7 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

중복 가능성 ([판 문자열 (MyDate가 'DAY')를 _char \의 결과와 비교]를 http://stackoverflow.com/questions/13269676/issue-when-comparing-result- of-charmydate-day-to-a-string) – Noel

+0

또한 NEXT_DAY의 반환 유형은'date'입니다. 따라서 to_date 함수를 사용해서는 안됩니다. 아마도 당신은 to_char을 사용하고 싶을 것입니다. – Noel

+0

@Ramblin 답장을 보내 주셔서 대단히 감사합니다. to_char로 변경되었지만 여전히 결과는 같습니다. – Siva

답변

0

진술문 앞에 Trim을 사용하고 문제가 해결되었습니다.

trim(to_char(to_date(SYSDATE,'dd/mm/yyyy'), 'DAY')) = 'MONDAY' 
관련 문제