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

날짜 시간이 1주일보다 오래된 모든 레코드를 반환하는 MySQL 쿼리

<시간/>

1주일보다 오래된 날짜를 얻으려면 다음 구문을 사용할 수 있습니다. -

select *from yourTableName where yourColumnName < now() - interval 1 week;

위의 개념을 이해하기 위해 테이블을 만들어 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> create table DatesOfOneWeek
   −> (
   −> ArrivalTime datetime
   −> );
Query OK, 0 rows affected (0.87 sec)

테이블에 일부 레코드 삽입 -

mysql> insert into DatesOfOneWeek values(date_add(now(),interval 2 week));
Query OK, 1 row affected (0.11 sec)

mysql> insert into DatesOfOneWeek values('2018-11-04');
Query OK, 1 row affected (0.14 sec)

mysql> insert into DatesOfOneWeek values('2018-11-25');
Query OK, 1 row affected (0.11 sec)

mysql> insert into DatesOfOneWeek values(date_add(now(),interval -1 week));
Query OK, 1 row affected (0.14 sec)

mysql> insert into DatesOfOneWeek values(date_add(now(),interval 1 week));
Query OK, 1 row affected (0.11 sec)

위에 삽입한 기록이 있는지 없는지 확인해보자. 테이블의 모든 레코드를 표시하는 쿼리는 다음과 같습니다. -

mysql> select *from DatesOfOneWeek;

다음은 출력입니다 -

+---------------------+
| ArrivalTime         |
+---------------------+
| 2018-12-20 18:11:02 |
| 2018-11-04 00:00:00 |
| 2018-11-25 00:00:00 |
| 2018-11-29 18:11:40 |
| 2018-12-13 18:11:46 |
+---------------------+
5 rows in set (0.00 sec)

다음은 과거의 날짜, 즉 1주일 전의 모든 날짜를 가져오는 MySQL 쿼리입니다. -

mysql> select *from DatesOfOneWeek where ArrivalTime < now() - interval 1 week;

다음은 출력입니다 -

+---------------------+
| ArrivalTime         |
+---------------------+
| 2018-11-04 00:00:00 |
| 2018-11-25 00:00:00 |
| 2018-11-29 18:11:40 |
+---------------------+
3 rows in set (0.00 sec)