Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL: หาความต่าง Timestamp เป็นวินาที ด้วย TIME_TO_SEC() และ TIMEDIFF()


หาความต่างระหว่าง 2 Timestamp เป็นวินาที ใช้ TIME_TO_SEC() และ TIMEDIFF()

Syntax

SELECT TIME_TO_SEC(TIMEDIFF(col1, col2)) AS diff_seconds FROM yourTableName;

ตัวอย่าง

mysql> CREATE TABLE TimeToSecond (MyTime TIMESTAMP, YourTime TIMESTAMP);
mysql> INSERT INTO TimeToSecond VALUES
    -> ('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');

ข้อมูลในตาราง

+---------------------+---------------------+
| 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 |
+---------------------+---------------------+

Query หาความต่างเป็นวินาที

mysql> SELECT TIME_TO_SEC(TIMEDIFF(MyTime, YourTime)) AS DifferenceInSeconds FROM TimeToSecond;

ผลลัพธ์

+---------------------+
| DifferenceInSeconds |
+---------------------+
| 120                 |  -- 2 นาที
| 180                 |  -- 3 นาที
| 3600                |  -- 1 ชั่วโมง
+---------------------+