2011-08-01 4 views
1

Oracle에 익숙하지 않아 문제가 발생했습니다. 내 페이지에 START_DATE 및 END_DATE가있는 양식이 있으며이 값을 DB의 해당 StartDate 및 EndDate 열과 비교해야합니다. 이 열은 null 허용이므로 오류가 발생했습니다. 이 주변의 다른 방법은 무엇입니까? ToDate를 사용하면 다른 옵션을 찾고 있으므로 현재 Filter 클래스를 사용하여 쿼리를 작성하므로 쉽게 작동하지 않습니다.Oracle 날짜 열 NULL

답변

2

날짜를 처리하는 데 사용하는 논리의 종류에 따라 다릅니다. 시작 날짜는 null가 의미하는 경우 "적용되지 않습니다"와 같은 당신은 같은 것을 할 수있는, 종료일 마찬가지입니다 : 단지 시작일과 종료일을 위해 임의의 크고 작은 값을에 연결되어

WHERE date_I_care_about 
    BETWEEN nvl(start_date,to_date('19000101','YYYYMMDD')) 
     AND nvl(start_date,to_date('30000101','YYYYMMDD')) 

을 가치가 없을 때.

하지만 위의 내용이 적절한 지에 대한 구체적인 논리에 따라 다릅니다.