Thêm 2 giờ vào thời gian hiện tại trong MySQL?


176

Cú pháp hợp lệ của truy vấn này trong MySQL là gì?

SELECT * FROM courses WHERE (now() + 2 hours) > start_time

lưu ý: start_time là một lĩnh vực của bảng khóa học

Câu trả lời:





25

Hàm DATE_ADD () sẽ thực hiện thủ thuật. (Bạn cũng có thể sử dụng hàm ADDTIME () nếu bạn đang chạy ít nhất v4.1.1.)

Đối với truy vấn của bạn, đây sẽ là:

SELECT * 
FROM courses 
WHERE DATE_ADD(now(), INTERVAL 2 HOUR) > start_time

Hoặc là,

SELECT * 
FROM courses 
WHERE ADDTIME(now(), '02:00:00') > start_time

Nếu chỉ có ví dụ.
TMS

Tài liệu này có một số ví dụ hay (và SO không có nghĩa là thay thế cho tài liệu) .. Nhưng vì lợi ích của câu hỏi này và khách truy cập trong tương lai, tôi đã thêm cả hai cú pháp.
lc.

1

Điều này cũng sẽ làm việc

SELECT NAME 
FROM GEO_LOCATION
WHERE MODIFY_ON BETWEEN SYSDATE() - INTERVAL 2 HOUR AND SYSDATE()
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.