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

Sử dụng từ khóa INTERVAL khi INSERT ngày giờ trong MySQL


Giới thiệu

MySQL cho phép dùng hàm DATE_ADD() kết hợp từ khóa INTERVAL để cộng/trừ thời gian ngay tại câu lệnh INSERT, rất tiện cho việc tính toán ngày giờ tương đối.

Cú pháp

DATE_ADD(date, INTERVAL expr unit)
  • unit: SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR,...
  • expr: Số lượng (có thể âm để trừ).

Ví dụ minh họa

Tạo bảng

mysql> CREATE TABLE DemoTable (
    ArrivalTime DATETIME
);

INSERT với INTERVAL

mysql> INSERT INTO DemoTable VALUES (DATE_ADD(NOW(), INTERVAL 4 HOUR));
mysql> INSERT INTO DemoTable VALUES (DATE_ADD('2016-01-31 10:40:50', INTERVAL 2 HOUR));
mysql> INSERT INTO DemoTable VALUES (DATE_ADD('2015-05-01 12:00:00', INTERVAL 1 HOUR));
mysql> INSERT INTO DemoTable VALUES (DATE_ADD('2017-12-04 08:00:00', INTERVAL 9 HOUR));

Xem kết quả

mysql> SELECT * FROM DemoTable;
+---------------------+
| ArrivalTime         |
+---------------------+
| 2019-08-13 01:50:10 |  -- NOW() + 4h (thời điểm demo)
| 2016-01-31 12:40:50 |  -- +2h
| 2015-05-01 13:00:00 |  -- +1h
| 2017-12-04 17:00:00 |  -- +9h
+---------------------+

Các đơn vị INTERVAL phổ biến

INTERVAL 1 DAY
INTERVAL 3 MONTH
INTERVAL -2 HOUR    -- Trừ 2 giờ
INTERVAL '1 12' DAY_HOUR  -- 1 ngày 12 giờ (chuỗi)
INTERVAL '1:30' HOUR_MINUTE

Lưu ý

  • NOW() trả về thời điểm thực thi câu lệnh.
  • Có thể dùng DATE_SUB() thay vì INTERVAL âm.
  • Hữu ích cho: lịch hẹn, nhắc nhở, tính hạn chót, scheduling.