在MySQL中使用Time数据类型而没有秒?

您需要为此使用DATE_FORMAT()。语法如下-

SELECT DATE_FORMAT(yourColumnName,'%k:%i') as anyAliasName FROM yourTableName;

您可以将'%H:%i'用于相同的结果。为了理解上述语法,让我们创建一个表。

创建表的查询如下-

mysql> create table TimeDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> LastLoginTime time
   -> );

现在,您可以使用insert命令在表中插入一些记录。查询如下-

mysql> insert into TimeDemo(LastLoginTime) values('09:30:35');
mysql> insert into TimeDemo(LastLoginTime) values('10:45:30');
mysql> insert into TimeDemo(LastLoginTime) values('13:33:58');
mysql> insert into TimeDemo(LastLoginTime) values('15:45:31');
mysql> insert into TimeDemo(LastLoginTime) values('16:40:36');

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

mysql> select *from TimeDemo;

以下是输出-

+----+---------------+
| Id | LastLoginTime |
+----+---------------+
|  1 | 09:30:35      |
|  2 | 10:45:30      |
|  3 | 13:33:58      |
|  4 | 15:45:31      |
|  5 | 16:40:36      |
+----+---------------+
5 rows in set (0.00 sec)

这是获取时间而无需秒的查询。查询如下-

mysql> select DATE_FORMAT(LastLoginTime,'%k:%i') as `Time` from TimeDemo;

以下是输出-

+-------+
| Time  |
+-------+
| 9:30  |
| 10:45 |
| 13:33 |
| 15:45 |
| 16:40 |
+-------+
5 rows in set (0.00 sec)

您可以更改格式说明符,例如%H:%i,以得到相同的结果,而无需秒。查询如下-

mysql> select DATE_FORMAT(LastLoginTime,' %H:%i') as `Time` from TimeDemo;

以下是输出-

+--------+
| Time   |
+--------+
| 09:30  |
| 10:45  |
| 13:33  |
| 15:45  |
| 16:40  |
+--------+
5 rows in set (0.00 sec)