如何将 MySQL TIME 值转换为天数和小时形式?


在此,我们将时间值转换为天数和小时形式,例如 150:50:10 转换为 6 天 6 小时。

你可以为此使用 CONCAT()和 HOUR()。让我们首先创建一个表 −

mysql> create table DemoTable657(DueTime time);
Query OK, 0 rows affected (3.68 sec)

使用 insert 命令在表中插入一些记录。在此,我们以总小时数的形式插入记录 −

mysql> insert into DemoTable657 values('120:30:00');
Query OK, 1 row affected (0.38 sec)
mysql> insert into DemoTable657 values('150:50:10');
Query OK, 1 row affected (0.27 sec)

使用 select 语句从表中显示所有记录 −

mysql> select *from DemoTable657;

这将产生以下输出 −

+-----------+
| DueTime   |
+-----------+
| 120:30:00 |
| 150:50:10 |
+-----------+
2 rows in set (0.00 sec)

以下是将 TIME 值转换为天数和小时候形式的查询 −

mysql> SELECT CONCAT( FLOOR(HOUR(DueTime)/24),' DAYS, ', HOUR(DueTime) MOD 24, ' HOURS.') from DemoTable657;

这将产生以下输出 −

+-----------------------------------------------------------------------------+
| CONCAT( FLOOR(HOUR(DueTime)/24),' DAYS, ', HOUR(DueTime) MOD 24, ' HOURS.') |
+-----------------------------------------------------------------------------+
| 5 DAYS, 0 HOURS.                                                            |
| 6 DAYS, 6 HOURS.                                                            |
+-----------------------------------------------------------------------------+
2 rows in set (0.00 sec)

更新于: 2019-08-23

653 次浏览

开启你的 事业

通过完成课程获得认证

开始
广告