여러 날짜 범위 내의 날짜 생성
요구사항이 단일 날짜 범위를 넘어 확장되는 경우 여러 날짜 범위 내의 모든 날짜를 생성하는 것이 어려울 수 있습니다. . 이 문서에서는 이러한 시나리오를 다루며 효과적인 솔루션을 제공합니다.
문제
제공된 SQL Fiddle에 설명된 대로 작업은 지정된 세트에 대한 모든 날짜를 생성하는 것입니다. 다음과 같은 여러 날짜 범위:
<br>ID START_DATE END_DATE<br>101 2013년 4월 1일 2013년 4월 10일<br>102 2013년 5월 10일 2013년 5월 12일<br>
솔루션
다음 쿼리 이 문제를 해결합니다:
select A.ID, A.START_DATE+delta dt from t_dates A, ( select level-1 as delta from dual connect by level-1 <= ( select max(end_date - start_date) from t_dates ) ) where A.START_DATE+delta <= A.end_date order by 1, 2
솔루션 분석
예 출력
제공된 입력에 대해 쿼리는 다음 출력을 반환합니다.
<br>ID 날짜<br>101 April, 01 2013<br>101 April , 2013년 2월<br>101 4월 3일 2013<br>2013년 4월 101일<br>2013년 4월 101일<br>2013년 4월 101일<br>2013년 4월 101일<br>2013년 4월 101일<br>2013년 4월 101일<br>2013년 4월 101일 2013<br>2013년 4월 101일, 2013년 10일<br>2013년 5월 10일, 102<br>2013년 5월 11일, 102<br>2013년 5월 12일, 102</p>
위 내용은 SQL에서 여러 날짜 범위 내의 모든 날짜를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!