Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

kết quả bất ngờ cho timediff

Chỉnh sửa: Bạn đang sử dụng phiên bản MySQL nào? Nó hoạt động tốt trên 5.0.22 ít nhất. Tôi vừa chạy truy vấn này. xem tại đây

 mysql> SELECT TIME_TO_SEC(TIMEDIFF('2000:01:01 00:00:00', '2001:01:01 00:00:00'));
 +---------------------------------------------------------------------+
 | TIME_TO_SEC(TIMEDIFF('2000:01:01 00:00:00', '2001:01:01 00:00:00')) |
 +---------------------------------------------------------------------+
 |                                                           -31622400 |
 +---------------------------------------------------------------------+
 1 row in set (0.00 sec)

Bạn có xem ở đây không ? Đó có thể là vấn đề cắt ngắn bởi vì Phạm vi thời gian nhỏ hơn nhiều so với chênh lệch ngày mà bạn có.

Câu trả lời ban đầu

Sử dụng cái này

    SELECT TIMESTAMPDIFF(SECOND,'2000:01:01 00:00:00', '2001:01:01 00:00:00');
    +--------------------------------------------------------------------+
    | TIMESTAMPDIFF(SECOND,'2000:01:01 00:00:00', '2001:01:01 00:00:00') |
    +--------------------------------------------------------------------+
    |                                                           31622400 |
    +--------------------------------------------------------------------+

Vấn đề là bạn đang cố chuyển đổi thời gian âm thành thời gian trong giây. Việc hoán đổi các biến sẽ thực hiện công việc.

    SELECT TIME_TO_SEC(TIMEDIFF('2001:01:01 00:00:00','2000:01:01 00:00:00'));
    +--------------------------------------------------------------------+
    | TIME_TO_SEC(TIMEDIFF('2001:01:01 00:00:00','2000:01:01 00:00:00')) |
    +--------------------------------------------------------------------+
    |                                                           31622400 |
    +--------------------------------------------------------------------+



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để ngăn chặn trùng lặp tên người dùng khi mọi người đăng ký?

  2. MySQL là chỉ mục của tôi có tốt không?

  3. Hàm chuyển đổi MySQL

  4. Nếu mysql_num_rows bằng ZERO thì KHÔNG hoạt động

  5. Nhóm các bản ghi từ vòng lặp while | PHP