如何以秒為單位在 MySQL 中計算兩個時間戳之間的差值?
要計算兩個時間戳之間的差值(以秒為單位),請在 MySQL 中使用兩個內建函式 TIME_TO_SEC() 和 TIMEDIFF()。語法如下所示: -
select time_to_sec(timediff(yourCoulnName1,yourCoulnName2)) as anyVariableName from yourTableName;
為理解上述概念,讓我們首先建立一個表。建立一個表的查詢。
mysql> create table TimeToSecond −> ( −> MyTime timestamp, −> YourTime timestamp −> ); Query OK, 0 rows affected (0.48 sec)
現在,你可以在表中插入一些日期時間值。查詢如下: -
mysql> insert into TimeToSecond values('2016-05-10 10:02:00','2016-05-10 10:00:00'); Query OK, 1 row affected (0.15 sec) mysql> insert into TimeToSecond values('2016-05-10 10:06:00','2016-05-10 10:03:00'); Query OK, 1 row affected (0.24 sec) mysql> insert into TimeToSecond values('2018-05-10 11:00:00','2018-05-10 10:00:00'); Query OK, 1 row affected (0.08 sec)
插入後,你可以透過 select 語句查看錶中存在多少條記錄。顯示所有記錄的查詢如下: -
mysql> select *from TimeToSecond;
輸出如下: -
+---------------------+---------------------+ | MyTime | YourTime | +---------------------+---------------------+ | 2016-05-10 10:02:00 | 2016-05-10 10:00:00 | | 2016-05-10 10:06:00 | 2016-05-10 10:03:00 | | 2018-05-10 11:00:00 | 2018-05-10 10:00:00 | +---------------------+---------------------+ 3 rows in set (0.00 sec)
現在,讓我們使用上面討論過的語法來計算兩個時間戳之間的差值(以秒為單位)。查詢如下: -
mysql> select time_to_sec(timediff(MyTime,YourTime)) as DifferenceInSeconds from TimeToSecond;
輸出如下: -
+---------------------+ | DifferenceInSeconds | +---------------------+ | 120 | | 180 | | 3600 | +---------------------+ 3 rows in set (0.00 sec)
廣告