programing

오라클 날짜 범위

itmemos 2023. 9. 24. 12:23
반응형

오라클 날짜 범위

Oracle 10g db를 사용하면 다음과 같은 테이블이 있습니다.

 create table x(
 ID NUMBER(10) primary key,
 wedding DATE NOT NULL
 );

제가 어떻게.

 select * from x where wedding is in june 2008???

아마 쉬운 일일 거라는 것을 알지만 아직까지 만족스러운 답을 찾지 못했습니다.도움을 주시면 대단히 감사하겠습니다.

용도:

SELECT *
  FROM x
 WHERE x.wedding BETWEEN TO_DATE('2008-JUN-01', 'YYYY-MON-DD') 
                            AND TO_DATE('2008-JUL-01', 'YYYY-MON-DD')

사용.TO_DATE에서는 00:00:00의 시간 부분으로 날짜를 구성합니다. 이 시간 부분에서는 논리를 사용하여 현재 날짜를 자정 1초 전으로 수정하지 않으려면 종료 날짜를 하루 앞당겨야 합니다.테스트되지 않음:

TO_DATE('2008-JUN-30', 'YYYY-MON-DD') + 1 - (1/(24*60*60))

그것은 2008년 6월 30일에 하루를 더하고, 그리고 나서 최종 날짜를 반환하기 위해 1초를 빼야 합니다.30-Jun-2008 23:59.

참조:

이것은 ANSI SQL이며 버전 9i 현재 oracle에서 지원됩니다.

SELECT *
FROM   x
WHERE  EXTRACT(YEAR  FROM wedding) = 2008
AND    EXTRACT(MONTH FROM wedding) =   06

오라클 전용 솔루션을 사용하는 고전적인 솔루션TO_CHAR():

SELECT *
FROM   x
WHERE  TO_CHAR(wedding, 'YYYY-MMM') = '2008-JUN'

(후의 해결책은 공룡들이 여전히 지구를 걸었을 때 지지되었습니다.)

언급URL : https://stackoverflow.com/questions/2038866/oracle-date-range

반응형