두 날짜 사이의 날짜 목록 생성
MySQL은 지정된 날짜 범위 내의 날짜 목록을 검색하는 표준 함수를 제공합니다. 단계는 다음과 같습니다.
1. 저장 프로시저 만들기:
필요한 날짜 범위를 생성하는 저장 프로시저를 만듭니다. make_intervals
저장 프로시저는 일, 분, 초 등 다양한 유형의 간격을 생성할 수 있습니다.
2. 프로세스 코드:
<code class="language-sql">CREATE PROCEDURE make_intervals( startdate timestamp, enddate timestamp, intval integer, unitval varchar(10) ) BEGIN -- ... (存储过程代码,请参考答案中的完整代码) END;</code>
3. 샘플 간격 생성:
2009-01-01과 2009-01-10 사이의 날짜 목록을 생성하려면 다음 명령을 실행합니다.
<code class="language-sql">call make_intervals('2009-01-01 00:00:00', '2009-01-10 00:00:00', 1, 'DAY');</code>
4. 데이터 연결:
생성된 날짜 범위(time_intervals
임시 테이블에 있음)를 데이터 테이블과 결합하여 필요에 따라 데이터를 집계합니다.
예제 데이터 시나리오:
마찬가지로 SQL Server용 함수를 만들 수 있습니다. 이 함수는 질문에 언급된 것과 유사한 결과를 생성합니다.
<code class="language-sql">CREATE FUNCTION GetDateList(@StartDate DATETIME, @EndDate DATETIME, @Interval INT, @Unit VARCHAR(10)) RETURNS TABLE AS BEGIN DECLARE @ThisDate DATETIME = @StartDate; WHILE @ThisDate <= @EndDate -- ... (函数代码,请参考答案中的完整代码) END;</code>
위 내용은 MySQL과 SQL Server에서 두 날짜 사이의 날짜 목록을 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!