Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 특정 날짜(2010-11-04)부터 현재 날짜까지의 데이터를 조회하는 방법

MySQL로 특정 날짜 이후의 데이터 조회하기

MySQL에서 특정 시작 날짜(예: 2010-11-04)부터 현재까지의 레코드를 조회하려면 WHERE 절과 비교 연산자(>=)를 활용하면 됩니다. 아래에서 예제 테이블 생성부터 쿼리 실행까지 전체 과정을 단계별로 살펴보겠습니다.

1단계: 테이블 생성

먼저 날짜를 저장할 테이블을 생성합니다.

mysql> create table DemoTable
(
    Joiningdate date
);
Query OK, 0 rows affected (0.56 sec)

2단계: 샘플 데이터 삽입

INSERT 명령을 사용해 여러 개의 날짜 레코드를 입력합니다.

mysql> insert into DemoTable values('2010-01-01');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('2010-03-31');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('2010-11-04');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable values('2012-12-31');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values('2019-01-03');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('2016-04-05');
Query OK, 1 row affected (0.11 sec)

3단계: 전체 데이터 확인

SELECT 문으로 테이블에 저장된 모든 레코드를 확인합니다.

mysql> select *from DemoTable;

실행 결과는 다음과 같습니다.

+-------------+
| Joiningdate |
+-------------+
| 2010-01-01  |
| 2010-03-31  |
| 2010-11-04  |
| 2012-12-31  |
| 2019-01-03  |
| 2016-04-05  |
+-------------+
6 rows in set (0.00 sec)

4단계: 특정 날짜부터 현재까지 조회하는 쿼리

2010-11-04 이후의 데이터만 조회하려면 WHERE 절에 조건을 지정하고, ORDER BY로 날짜순 정렬까지 추가하면 더욱 가독성 있는 결과를 얻을 수 있습니다.

mysql> select *from DemoTable where Joiningdate >='2010-11-04' order by Joiningdate;

위 쿼리의 실행 결과는 다음과 같습니다.

+-------------+
| Joiningdate |
+-------------+
| 2010-11-04  |
| 2012-12-31  |
| 2016-04-05  |
| 2019-01-03  |
+-------------+
4 rows in set (0.00 sec)

추가 팁: 현재 날짜 기준으로 동적으로 조회하기

시작 날짜부터 '오늘'까지의 데이터를 동적으로 조회하고 싶다면 CURDATE() 함수를 함께 사용할 수 있습니다.

mysql> select *from DemoTable 
where Joiningdate >= '2010-11-04' 
and Joiningdate <= CURDATE() 
order by Joiningdate;

이처럼 >= 연산자와 ORDER BY 절을 조합하면 특정 날짜 이후의 레코드를 손쉽게 필터링하고 정렬할 수 있습니다. 필요에 따라 BETWEEN 연산자나 DATE 함수를 활용하면 더욱 유연한 날짜 범위 검색도 가능합니다.