>데이터 베이스 >MySQL 튜토리얼 >SELECT 쿼리를 사용하여 MySQL에서 날짜 범위를 생성하는 방법은 무엇입니까?

SELECT 쿼리를 사용하여 MySQL에서 날짜 범위를 생성하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-19 01:26:08584검색

How to Generate a Date Range in MySQL Using a SELECT Query?

MySQL SELECT 쿼리를 사용하여 날짜 범위 생성

많은 애플리케이션은 지정된 날짜 범위 내의 일련의 날짜를 가져와야 합니다. MySQL SELECT 쿼리가 이를 수행합니다.

쿼리 구성

주어진 두 날짜 사이의 날짜 목록을 생성하려면 다음 쿼리를 사용할 수 있습니다.

<code class="language-sql">SELECT * FROM
(SELECT ADDDATE('1970-01-01', t4.i * 10000 + t3.i * 1000 + t2.i * 100 + t1.i * 10 + t0.i) AS selected_date FROM
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t0,
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t1,
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t2,
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t3,
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t4) v
WHERE selected_date BETWEEN '2012-02-10' AND '2012-02-15';</code>

이 쿼리는 '2012-02-10'부터 '2012-02-15'까지의 날짜 범위를 생성하며 각 날짜는 결과 집합에 단일 행으로 표시됩니다.

설명

기본 쿼리의 중첩된 SELECT 문은 날짜 목록을 구성하는 데 사용됩니다. 각 SELECT 문은 0부터 9까지의 한 자리 숫자 시퀀스를 생성합니다. 그런 다음 " " 연산자를 사용하여 이러한 시퀀스를 결합하여 완전한 날짜 문자열을 형성합니다. "ADDDATE" 함수는 이러한 숫자를 '1970-01-01'에 추가하여 원하는 날짜 범위를 생성하는 데 사용됩니다.

위 내용은 SELECT 쿼리를 사용하여 MySQL에서 날짜 범위를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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