如何在MySQL查询中选择时间戳的一部分?
要在查询中选择时间戳的一部分,您需要使用YEAR()函数。在MySQL中,语法如下。
select YEAR(yourTimestampColumnName) as anyAliasName from yourTableName;
为了理解上述语法,让我们创建一个表。创建表的查询语句如下:
mysql> create table SelectPartOfTimestampDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> ShippingTime TIMESTAMP
-> );
查询成功,并影响了0行数据 (1.11 秒)
现在,您可以使用插入命令将一些记录插入到表中。查询语句如下:
mysql> insert into SelectPartOfTimestampDemo(ShippingTime) values(now());
查询成功,并影响了1行数据 (0.20 秒)
mysql> insert into SelectPartOfTimestampDemo(ShippingTime)
values(date_add(now(),interval -2 year));
查询成功,并影响了1行数据 (0.17 秒)
mysql> insert into SelectPartOfTimestampDemo(ShippingTime)
values(date_add(now(),interval -3 year));
查询成功,并影响了1行数据 (0.18 秒)
mysql> insert into SelectPartOfTimestampDemo(ShippingTime)
values(date_add(now(),interval -1 year));
查询成功,并影响了1行数据 (0.18 秒)
mysql> insert into SelectPartOfTimestampDemo(ShippingTime)
values(date_add(now(),interval 1 year));
查询成功,并影响了1行数据 (0.16 秒)
mysql> insert into SelectPartOfTimestampDemo(ShippingTime)
values(date_add(now(),interval 2 year));
查询成功,并影响了1行数据 (0.48 秒)
mysql> insert into SelectPartOfTimestampDemo(ShippingTime)
values(date_add(now(),interval 3 year));
查询成功,并影响了1行数据 (0.10 秒)
使用select语句从表中显示所有记录。查询语句如下:
mysql> select *from SelectPartOfTimestampDemo;
以下是输出结果:
+----+---------------------+
| Id | ShippingTime |
+----+---------------------+
| 1 | 2019-02-08 15:03:27 |
| 2 | 2017-02-08 15:03:50 |
| 3 | 2016-02-08 15:04:03 |
| 4 | 2018-02-08 15:04:06 |
| 5 | 2020-02-08 15:04:10 |
| 6 | 2021-02-08 15:04:24 |
| 7 | 2022-02-08 15:04:30 |
+----+---------------------+
7 rows in set (0.00 sec)
以下是使用YEAR()函数选择时间戳一部分的查询语句:
mysql> select YEAR(ShippingTime) as PartOfTimeStamp from SelectPartOfTimestampDemo;
以下是输出结果:
+-----------------+
| PartOfTimeStamp |
+-----------------+
| 2019 |
| 2017 |
| 2016 |
| 2018 |
| 2020 |
| 2021 |
| 2022 |
+-----------------+
7 rows in set (0.00 sec)
阅读更多:MySQL 教程
极客教程