2009-09-22 44 views

Trả lời

9

gì về việc sử dụng datediff:

mysql> select abs(datediff('2009-09-18 00:00:00', '2009-10-17 00:00:00')); 
+-------------------------------------------------------------+ 
| abs(datediff('2009-09-18 00:00:00', '2009-10-17 00:00:00')) | 
+-------------------------------------------------------------+ 
|               29 | 
+-------------------------------------------------------------+ 
1 row in set (0.00 sec) 

Trích dẫn hướng dẫn:

DATEDIFF() lợi nhuận expr1 – expr2 thể hiện dưới dạng một giá trị trong ngày từ một ngày khác. expr1 và expr2 là các biểu thức ngày hoặc giờ.
Chỉ các phần ngày của giá trị là được sử dụng trong phép tính.

1

Bạn chỉ có thể trừ datetimes và nó sẽ trả về giá trị:

chọn (bây giờ() - khoảng thời gian 2 ngày) - (bây giờ() - khoảng thời gian 5 ngày);

Kết quả không phải là ngày giờ (đó là một số ngày được mã hóa thập phân - 3000000 trong ba ngày trong trường hợp này), nhưng không đúng khi nói xem một datetime và một khoảng thời gian như cùng một kiểu dữ liệu.

1

Hoặc sử dụng timestampdiff() như thế này:

timestampdiff (micro, yourtime, bây giờ())

tham số đầu tiên là đơn vị datetime mysql, có thể được "micro giây, thứ hai , phút, giờ, ngày, năm ", và hàm này có nghĩa là datetime tham số thứ 3 trừ đi datetime tham số thứ 2.

mysql> select timestampdiff(second, "2009-09-18 00:00:00", "2009-10-17 00:00:00"); 
+---------------------------------------------------------------------+ 
| timestampdiff(second, "2009-09-18 00:00:00", "2009-10-17 00:00:00") | 
+---------------------------------------------------------------------+ 
|                2505600 | 
+---------------------------------------------------------------------+ 
1 row in set (0.00 sec) 
Các vấn đề liên quan