>데이터 베이스 >MySQL 튜토리얼 >T-SQL에서 일련의 증분 날짜를 생성하는 방법은 무엇입니까?

T-SQL에서 일련의 증분 날짜를 생성하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2025-01-11 19:57:43520검색

How to Generate a Series of Incrementing Dates in T-SQL?

T-SQL에서 날짜 시퀀스 생성: 효율적인 방법

이 문서에서는 SQL Server 2005 이상 버전과 호환되는 T-SQL을 사용하여 지정된 범위 내에서 일련의 연속 날짜를 생성하는 효율적인 기술을 살펴봅니다. WHILE 루프도 가능한 접근 방식이지만 날짜 범위가 클수록 효율성이 떨어질 수 있습니다. 우수한 방법은 spt_values 시스템 테이블

을 활용하는 것입니다.

최대 2047일의 날짜 범위에 대해 다음 T-SQL 쿼리는 효과적인 솔루션을 제공합니다.

<code class="language-sql">DECLARE @startDate DATETIME, @endDate DATETIME;
SET @startDate = GETDATE();
SET @endDate = DATEADD(day, 100, @startDate);

SELECT DATEADD(day, number, @startDate) AS IncrementalDate
FROM (SELECT number FROM master.dbo.spt_values WHERE [type] = 'P') AS NumberSequence
WHERE DATEADD(day, number, @startDate) < @endDate;</code>

이 쿼리는 spt_values 내의 숫자 순서를 활용하여 날짜 계열을 생성합니다. @startDate에 시퀀스의 각 숫자를 추가하여 효과적으로 증분 날짜를 생성합니다. WHERE 절은 생성된 날짜가 @startDate@endDate으로 정의된 원하는 범위 내에 포함되도록 합니다. 이 접근 방식은 반복 WHILE 루프 방법

과 관련된 성능 제한을 방지합니다.

위 내용은 T-SQL에서 일련의 증분 날짜를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.