반응형
오라클 날짜 범위
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
반응형
'programing' 카테고리의 다른 글
| Xml 특성을 통해 클래스 이름을 변경하려면 어떻게 해야 합니까? (0) | 2023.09.24 |
|---|---|
| 부동 소수점 값을 자르는 방법은? (0) | 2023.09.24 |
| sprintf_s가 이 범위에서 선언되지 않았습니다. (0) | 2023.09.24 |
| Android에서 TextView 범위 색상 설정 (0) | 2023.09.24 |
| Linux에서 파일을 복사하는 가장 효율적인 방법 (0) | 2023.09.24 |