집 >데이터 베이스 >MySQL 튜토리얼 >SQL에서 여러 날짜 범위 내의 모든 날짜를 생성하는 방법은 무엇입니까?
여러 날짜 범위 내의 날짜 생성
요구사항이 단일 날짜 범위를 넘어 확장되는 경우 여러 날짜 범위 내의 모든 날짜를 생성하는 것이 어려울 수 있습니다. . 이 문서에서는 이러한 시나리오를 다루며 효과적인 솔루션을 제공합니다.
문제
제공된 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!