Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cộng 6 giờ vào NOW() không dùng DATE_ADD() trong MySQL

Tóm tắt

Dùng toán tử + INTERVAL 6 HOUR trực tiếp trên cột datetime hoặc NOW() – cách viết ngắn gọn thay cho DATE_ADD().

Ví dụ

1. Tạo bảng

CREATE TABLE Add6Hour (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ArrivalTime DATETIME
);
INSERT INTO Add6Hour (ArrivalTime) VALUES (NOW());

2. Truy vấn cộng 6 giờ

SELECT Id, ArrivalTime, (ArrivalTime + INTERVAL 6 HOUR) AS AfterAdding6Hour
FROM Add6Hour;

3. Kết quả (giả sử NOW = 2019-02-14 18:35:24)

+----+---------------------+---------------------+
| Id | ArrivalTime         | AfterAdding6Hour    |
+----+---------------------+---------------------+
| 1  | 2019-02-14 18:35:24 | 2019-02-15 00:35:24 |
+----+---------------------+---------------------+

Các đơn vị INTERVAL

Đơn vịVí dụ
MICROSECONDINTERVAL 500 MICROSECOND
SECONDINTERVAL 30 SECOND
MINUTEINTERVAL 45 MINUTE
HOURINTERVAL 6 HOUR
DAYINTERVAL 5 DAY
WEEKINTERVAL 2 WEEK
MONTHINTERVAL 3 MONTH
QUARTERINTERVAL 1 QUARTER
YEARINTERVAL 1 YEAR
Kết hợpINTERVAL '1 12:30' DAY_HOUR

DATE_ADD vs + INTERVAL

  • DATE_ADD(dt, INTERVAL 6 HOUR): chuẩn SQL, rõ ràng, cho phép lồng nhau.
  • dt + INTERVAL 6 HOUR: ngắn gọn, MySQL-specific, dễ đọc cho 1 phép tính.
  • Hiệu năng như nhau.