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

MySQL에서 현재 일, 월, 연도의 레코드를 필터링하시겠습니까?

<시간/>

샘플에 대한 일부 값을 저장한 UserLoginTime 열이 있는 테이블이 있다고 가정해 보겠습니다. 이것은 사용자의 로그인 시간이며 현재 날짜, 월 및 연도를 기준으로 이러한 모든 레코드를 필터링하려고 합니다. 우리는 될 것입니다

이제 위에서 논의한 테이블을 생성해 보겠습니다.

mysql> create table userLoginInformation
   - > (
   - > UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   - > UserName varchar(20),
   - > UserLoginTime datetime
   - > );
Query OK, 0 rows affected (0.79 sec)

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

쿼리는 다음과 같습니다

mysql> insert into userLoginInformation(UserName,UserLoginTime) values('John','2016-02-12');
Query OK, 1 row affected (0.18 sec)
mysql> insert into userLoginInformation(UserName,UserLoginTime) values('Carol','2019-01-31');
Query OK, 1 row affected (0.16 sec)
mysql> insert into userLoginInformation(UserName,UserLoginTime) values('Bob','2019-02-19');
Query OK, 1 row affected (0.12 sec)
mysql> insert into userLoginInformation(UserName,UserLoginTime) values('Sam','2018-02-19');
Query OK, 1 row affected (0.16 sec)
mysql> insert into userLoginInformation(UserName,UserLoginTime) values('Larry','2017-04-18');
Query OK, 1 row affected (0.18 sec)

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

쿼리는 다음과 같습니다

mysql> select *from userLoginInformation;

다음은 출력입니다.

+--------+----------+---------------------+
| UserId | UserName | UserLoginTime       |
+--------+----------+---------------------+
|      1 | John     | 2016-02-12 00:00:00 |
|      2 | Carol    | 2019-01-31 00:00:00 |
|      3 | Bob      | 2019-02-19 00:00:00 |
|      4 | Sam      | 2018-02-19 00:00:00 |
|      5 | Larry    | 2017-04-18 00:00:00 |
+--------+----------+---------------------+
5 rows in set (0.00 sec)

이제 YEAR() 및 now()를 사용하여 현재 날짜를 기준으로 레코드를 필터링합니다. 여기에서는 now()를 사용하여 현재 날짜를 가져옵니다.

mysql> select *from userLoginInformation where YEAR(UserLoginTime)=YEAR(now());

다음은 출력입니다.

+--------+----------+---------------------+
| UserId | UserName | UserLoginTime       |
+--------+----------+---------------------+
|      2 | Carol    | 2019-01-31 00:00:00 |
|      3 | Bob      | 2019-02-19 00:00:00 |
+--------+----------+---------------------+
2 rows in set (0.00 sec)