Computer >> Máy Tính >  >> Lập trình >> MySQL

Nhận sự khác biệt giữa hai dấu thời gian trong vài giây trong MySQL?

Để nhận được sự khác biệt giữa hai dấu thời gian trong vài giây, hãy sử dụng hai hàm tích hợp TIME_TO_SEC () và TIMEDIFF () trong MySQL. Cú pháp như sau -

select time_to_sec(timediff(yourCoulnName1,yourCoulnName2)) as anyVariableName from yourTableName;

Để hiểu khái niệm trên, trước tiên chúng ta hãy tạo một bảng. Truy vấn để tạo bảng.

mysql> create table TimeToSecond
   −> (
   −> MyTime timestamp,
   −> YourTime timestamp
   −> );
Query OK, 0 rows affected (0.48 sec)

Bây giờ bạn có thể chèn một số giá trị ngày giờ vào bảng. Truy vấn như sau -

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)

Sau khi chèn, bạn có thể kiểm tra xem có bao nhiêu bản ghi hiện diện trong bảng với sự trợ giúp của câu lệnh select. Truy vấn để hiển thị tất cả các bản ghi như sau -

mysql> select *from TimeToSecond;

Sau đây là kết quả -

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

Bây giờ chúng ta hãy nhận sự khác biệt giữa hai dấu thời gian trong vài giây bằng cách sử dụng cú pháp mà chúng ta đã thảo luận ở trên. Truy vấn như sau -

mysql> select time_to_sec(timediff(MyTime,YourTime)) as DifferenceInSeconds from TimeToSecond;

Sau đây là kết quả -

+---------------------+
| DifferenceInSeconds |
+---------------------+
|                 120 |
|                 180 |
|                3600 |
+---------------------+
3 rows in set (0.00 sec)