如何在MySQL的时间戳字段中搜索日期?
您可以使用MySQL的DATE()函数来实现此功能。首先让我们创建一个表 −
mysql> create table DemoTable
(
StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentAdmissionDate timestamp
);
Query OK, 0 rows affected (0.63 sec)
使用插入命令将一些记录插入表中 −
mysql> insert into DemoTable(StudentAdmissionDate) values('2011-01-12 12:34:43');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(StudentAdmissionDate) values('2012-10-23 11:32:21');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(StudentAdmissionDate) values('2001-02-14 05:12:01');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable(StudentAdmissionDate) values('2018-12-31 15:10:04');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable(StudentAdmissionDate) values('2019-04-16 11:04:10');
Query OK, 1 row affected (0.81 sec)
以下是使用select语句从表中显示所有记录的查询语句 −
mysql> select *from DemoTable;
这将产生以下输出 –
+-----------+----------------------+
| StudentId | StudentAdmissionDate |
+-----------+----------------------+
| 1 | 2011-01-12 12:34:43 |
| 2 | 2012-10-23 11:32:21 |
| 3 | 2001-02-14 05:12:01 |
| 4 | 2018-12-31 15:10:04 |
| 5 | 2019-04-16 11:04:10 |
+-----------+----------------------+
5 rows in set (0.00 sec)
以下是在时间戳字段中搜索日期的查询语句。
mysql> select *from DemoTable where date(StudentAdmissionDate)='2001-02-14';
这将产生以下输出 –
+-----------+----------------------+
| StudentId | StudentAdmissionDate |
+-----------+----------------------+
| 3 | 2001-02-14 05:12:01 |
+-----------+----------------------+
1 row in set (0.04 sec)
我们还可以搜索给定范围之间的日期:
mysql> select *from DemoTable where StudentAdmissionDate >='2012-01-01' and StudentAdmissionDate < '2019-12-01';
这将产生以下输出 –
+-----------+----------------------+
| StudentId | StudentAdmissionDate |
+-----------+----------------------+
| 2 | 2012-10-23 11:32:21 |
| 4 | 2018-12-31 15:10:04 |
| 5 | 2019-04-16 11:04:10 |
+-----------+----------------------+
3 rows in set (0.00 sec)
阅读更多:MySQL 教程
极客教程