在 MySQL 中从时间戳中获取特定年份的记录?

mysqldatabasemysqli

您可以使用 YEAR() 函数从时间戳中获取年份。语法如下 −

SELECT yourColumnName FROM yourTableName WHERE YEAR(yourTimestampColumnName)='yourYearValue’';

为了理解上述语法,让我们创建一个表。创建表的查询如下 −

mysql> create table getYearOut
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(10),
   -> yourTimestamp timestamp default current_timestamp,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (1.56 sec)

使用插入命令在表中插入一些记录 −

mysql> insert into getYearOut(Name,yourTimestamp) values('John',now());
Query OK, 1 row affected (0.26 sec)
mysql> insert into getYearOut(Name,yourTimestamp) values('Carol','2018-09-23 17:34:44');
Query OK, 1 row affected (0.38 sec)
mysql> insert into getYearOut(Name,yourTimestamp) values('Bob','2016-05-12 16:12:34');
Query OK, 1 row affected (0.43 sec)

使用 select 语句显示表中的所有记录。查询如下 −

mysql> select *from getYearOut;

以下是输出 −

+----+-------+---------------------+
| Id | Name  | yourTimestamp       |
+----+-------+---------------------+
|  1 | John  | 2019-02-05 11:46:11 |
|  2 | Carol | 2018-09-23 17:34:44 |
|  3 | Bob   | 2016-05-12 16:12:34 |
+----+-------+---------------------+
3 rows in set (0.00 sec)

以下是从时间戳中获取年份的查询。如果您的表有特定年份,则查询如下 −

mysql> select Id, Name from getYearOut where year(yourTimestamp)='2019';

以下是显示 2019 年记录的输出 −

+----+-------+
| Id | Name  |
+----+-------+
| 1  | John  +
1 row in set (0.00 sec)

相关文章