Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL의 현재 날짜에서 지난 이틀의 기록을 얻는 방법은 무엇입니까?

<시간/>

현재 날짜에서 마지막 날의 기록을 얻으려면 DATE_SUB()를 사용해야 합니다. 또한 현재 날짜를 얻기 위해 NOW()를 사용할 것입니다. 동일한 구문은 다음과 같습니다.

SELECT *FROM yourTableName
WHERE yourDateTimeColumnName BETWEEN DATE_SUB(DATE(NOW()), INTERVAL 2 DAY)
AND DATE_SUB(DATE(NOW()), INTERVAL 1 DAY);

예를 들어 보겠습니다.

mysql> create table get2daysAgoDemo
   - > (
   - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   - > Name varchar(20),
   - > PostDateTime datetime
   - > );
Query OK, 0 rows affected (1.70 sec)

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오.

쿼리는 다음과 같습니다

mysql> insert into get2daysAgoDemo(Name,PostDateTime) values('Larry',now());
Query OK, 1 row affected (0.68 sec)
mysql> insert into get2daysAgoDemo(Name,PostDateTime) values('Mike','2019-02-13');
Query OK, 1 row affected (0.12 sec)
mysql> insert into get2daysAgoDemo(Name,PostDateTime) values('Sam','2019-01-31');
Query OK, 1 row affected (0.15 sec)
mysql> insert into get2daysAgoDemo(Name,PostDateTime) values('Bob','2019-02-14');
Query OK, 1 row affected (0.29 sec)
mysql> insert into get2daysAgoDemo(Name,PostDateTime) values('David','2019-02-12');
Query OK, 1 row affected (0.21 sec)
mysql> insert into get2daysAgoDemo(Name,PostDateTime) values('Carol','2019-02-11');
Query OK, 1 row affected (0.22 sec)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다.

쿼리는 다음과 같습니다

mysql> select *from get2daysAgoDemo;

다음은 출력입니다.

+----+-------+---------------------+
| Id | Name  | PostDateTime        |
+----+-------+---------------------+
|  1 | Larry | 2019-02-15 21:47:10 |
|  2 | Mike  | 2019-02-13 00:00:00 |
|  3 | Sam   | 2019-01-31 00:00:00 |
|  4 | Bob   | 2019-02-14 00:00:00 |
|  5 | David | 2019-02-12 00:00:00 |
|  6 | Carol | 2019-02-11 00:00:00 |
+----+-------+---------------------+
6 rows in set (0.00 sec)

다음은 지난 2일 동안의 기록을 가져오는 쿼리입니다. 현재 날짜가 2019-02-15라고 가정해 보겠습니다.

mysql> select *from get2daysAgoDemo
   - > where PostDateTime between DATE_SUB(DATE(NOW()), INTERVAL 2 DAY)
   - > AND DATE_SUB(DATE(NOW()), INTERVAL 1 DAY);

다음은 지난 2일, 즉 현재 날짜가 2월 15일이므로 2월 13일과 14일의 기록을 표시하는 출력입니다.

+----+------+---------------------+
| Id | Name | PostDateTime        |
+----+------+---------------------+
|  2 | Mike | 2019-02-13 00:00:00 |
|  4 | Bob  | 2019-02-14 00:00:00 |
+----+------+---------------------+
2 rows in set (0.01 sec)