獲取時間差並將其轉換為 MySQL 中的小時?
藉助 MySQL 的 timestampdiff() 方法,你可以實現該功能。語法如下所示 −
語法
SELECT ABS(TIMESTAMPDIFF(HOUR,yourColumnName1,yourColumnName2)) as anyVariableName from yourTableName;
為了理解上述語法,我們建立一個表。建立表的查詢如下所示 −
mysql> create table DifferenceInHours -> ( -> StartDateTime datetime, -> EndDateTime datetime -> ); Query OK, 0 rows affected (0.59 sec)
使用 insert 命令在表中插入一些記錄。查詢如下所示 −
mysql> insert into DifferenceInHours values('2018-12-20 10:00:00', '2018-12-19 12:00:00');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DifferenceInHours values('2018-12-20 11:00:00', '2018-12-19 11:00:00');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DifferenceInHours values('2018-12-20 10:30:00', '2018-12-19 11:00:00');
Query OK, 1 row affected (0.13 sec)使用 select 語句顯示錶格中的所有記錄。查詢如下所示 −
mysql> select *from DifferenceInHours;
輸出
+---------------------+---------------------+ | StartDateTime | EndDateTime | +---------------------+---------------------+ | 2018-12-20 10:00:00 | 2018-12-19 12:00:00 | | 2018-12-20 11:00:00 | 2018-12-19 11:00:00 | | 2018-12-20 10:30:00 | 2018-12-19 11:00:00 | +---------------------+---------------------+ 3 rows in set (0.00 sec)
以下查詢獲取時間差(以小時為單位)。查詢如下所示 −
mysql> SELECT ABS(TIMESTAMPDIFF(HOUR,StartDateTime,EndDateTime)) as Hour from DifferenceInHours;
以下是顯示時間差(以小時為單位)的輸出 −
+------+ | Hour | +------+ | 22 | | 24 | | 23 | +------+ 3 rows in set (0.00 sec)
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP