10/10/2018, 10:35
Mysql + PHP : tìm kiếm dữ liệu trong khoảng thời gian
Table có 2 trường start và end đều là datetime
muốn tìm kiếm event trog khoảng thời gian được nhập vào
làm sao để tìm kiếm được ? phải conver lại thời gian thế nào các bác
help
Code:
SELECT e.* FROM jos_events e WHERE 1=1 AND e.start >= 2006-07-10 AND e.end <= 2015-10-21 ORDER BY e.id DESC
làm sao để tìm kiếm được ? phải conver lại thời gian thế nào các bác
help
Bài liên quan
Và sử dụng
SELECT e.* FROM jos_events e
WHERE 1=1
AND DATEDIFF(e.start,'2006-07-10')>0
AND DATEDIFF(e.end,'2015-10-21')<0
ORDER BY e.id DESC
Huống chi, ở đây phải dùng TIMEDIFF() mới hợp lý
Còn cái yêu cầu là tìm kiếm event trog khoảng thời gian được nhập vào. Giả sử bạn muốn tìm sự kiện diễn ra từ ngày 10/07/2006. Nếu dùng DATEDIFF(e.start,'2006-07-10'), nếu start="2006-07-10" kết quả sẽ = 0, điều kiện truy vấn sai thì sẽ không cho kết quả. Như vậy, tất cả những sự kiện diễn ra trong ngày đó sẽ bị bỏ qua.
câu query của em sai ở chỗ này hả 'string'