샘플에 대한 일부 값을 저장한 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)