필자는 oracle db를 가지고 있으며 2 년 동안의 모든 날짜를 포함하는 테이블이 필요합니다. 예를 들어 01/01/2011
에서 01/01/2013
까지입니다.오라클 날짜 시퀀스?
먼저 나는 일련의 생각하지만 분명히 유일하게 지원되는 유형은 숫자, 그래서 지금은이
환호 장난을 할 수있는 효율적인 방법을 찾고
당신이 원하는 것은 블록을 채우는 경우필자는 oracle db를 가지고 있으며 2 년 동안의 모든 날짜를 포함하는 테이블이 필요합니다. 예를 들어 01/01/2011
에서 01/01/2013
까지입니다.오라클 날짜 시퀀스?
먼저 나는 일련의 생각하지만 분명히 유일하게 지원되는 유형은 숫자, 그래서 지금은이
환호 장난을 할 수있는 효율적인 방법을 찾고
당신이 원하는 것은 블록을 채우는 경우순차적 인 날짜가있는 레코드의 경우, 그렇게하기 쉽습니다. 다음 쿼리는 10 개의 날짜를 생성합니다. 시드 날짜를 조정하여 시작 지점을 지정하고 connect by
절에있는 level
절을 끝점에 맞게 조정 한 다음 insert
문에 연결하기 만하면됩니다.
SQL> select (trunc(sysdate, 'MM')-1) + level
2 from dual
3 connect by level <= 10
4/
(TRUNC(SY
---------
01-JAN-10
02-JAN-10
03-JAN-10
04-JAN-10
05-JAN-10
06-JAN-10
07-JAN-10
08-JAN-10
09-JAN-10
10-JAN-10
10 rows selected.
SQL>
는 우리라는 이름의 테이블이 예를 들어 말 : 열 데이텀 (날짜 형식)으로, 데이텀을 테이블에는 다음이 포함
다음21-01-2010
22-01-2010
01-12-2009
06-10-2008
03-07-2007
당신이 사용할 수 있습니다
SELECT *
FROM datums
WHERE datum
BETWEEN to_date('01/01/2009','mm/dd/yyyy')
AND to_date('12/31/2010','mm/dd/yyyy')
결과를 :
21-01-2010
22-01-2010
01-12-2009