여러 날짜 범위를 처리할 때 해당 범위 내의 모든 날짜를 생성하는 것이 어려울 수 있습니다. 이 시나리오를 처리하는 효율적인 솔루션을 살펴보겠습니다.
제공된 입력은 두 가지 날짜 범위로 구성됩니다.
ID START_DATE END_DATE 101 April, 01 2013 April, 10 2013 102 May, 10 2013 May, 12 2013
우리의 목표는 이 범위 내의 모든 날짜를 나열하는 출력 테이블을 생성하는 것입니다.
ID Dates 101 April, 01 2013 101 April, 02 2013 101 April, 03 2013 101 April, 04 2013 101 April, 05 2013 101 April, 06 2013 101 April, 07 2013 101 April, 08 2013 101 April, 09 2013 101 April, 10 2013 102 May, 10 2013 102 May, 11 2013 102 May, 12 2013
이를 달성하기 위해 다음 SQL을 활용할 수 있습니다. 쿼리:
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
쿼리는 최대 날짜 범위 내에서 가능한 모든 날짜 차이를 생성한 다음 이를 각 시작 날짜에 추가하여 원하는 출력을 생성합니다.
위 내용은 SQL을 사용하여 여러 날짜 범위 내의 모든 날짜를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!