RAGJUN님이 제시한 SQL에는 문제가 있습니다.
Select * From Imsi Where IYear < 1998 And IMonth < 2
위의 SQL의 결과로 1998, 01이 나올수 없습니다.
만약 1998년 1월 이전의 모든 데이터를 원할 경우
SQL을 아래와 같이 주시면 됩니다.
SELECT * FROM imsi
WHERE (IYear < 1998) OR ((IYear = 1998) AND (IMonth < 2))
실제로 테스트는 하지 않았지만 조건에 대해 간략히 설명하자면...
(IYear < 1998) -> 년도가 1998년 이하의 데이터를 모두 출력할 것입니다.
그리고 나머지 1998년 이후의 데이터중 2월 이하의 데이터를 보이기 위해
((IYear = 1998) AND (IMonth < 2)) 를 사용한 것입니다.
OR은 두 쿼리를 더하는 기능을 하므로
1998년 이전의 데이터와 1998년 2월 이전의 데이터가 나타나는 것입니다.
참고로 하나더 쓰자면
년도와 월을 따로 쓰는 것은 좋은 방법이 아니라고 봅니다.
Date 형 필드를 사용하던지...
아니면 스트링으로 199801 식으로 표현하면 쿼리시 편리 할 것입니다.
|