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

Thêm phút vào giá trị datetime kiểu VARCHAR khi INSERT trong MySQL

Giới thiệu

Nếu cột lưu trữ ngày giờ dưới dạng chuỗi VARCHAR, bạn vẫn có thể thực hiện phép cộng/trừ thời gian khi chèn dữ liệu bằng cách: chuyển chuỗi thành DATETIME bằng STR_TO_DATE, dùng DATE_ADD (hoặc INTERVAL), sau đó lưu kết quả (MySQL sẽ tự chuyển ngược thành chuỗi nếu cột là VARCHAR).

Ví dụ minh họa

Bước 1: Tạo bảng cột VARCHAR

CREATE TABLE DemoTable2026 (ArrivalTime VARCHAR(20));

Bước 2: Chèn dữ liệu với cộng thêm phút

INSERT INTO DemoTable2026 VALUES (
    DATE_ADD(STR_TO_DATE('2017-12-01 11:34:45', '%Y-%m-%d %H:%i:%s'), INTERVAL 10 MINUTE)
);
INSERT INTO DemoTable2026 VALUES (
    DATE_ADD(STR_TO_DATE('2015-01-31 10:00:00', '%Y-%m-%d %H:%i:%s'), INTERVAL 5 MINUTE)
);
INSERT INTO DemoTable2026 VALUES (
    DATE_ADD(STR_TO_DATE('2017-12-01 11:34:45', '%Y-%m-%d %H:%i:%s'), INTERVAL 20 MINUTE)
);

Bước 3: Kiểm tra

SELECT * FROM DemoTable2026;
+---------------------+
| ArrivalTime         |
+---------------------+
| 2017-12-01 11:44:45 |
| 2015-01-31 10:05:00 |
| 2017-12-01 11:54:45 |
+---------------------+

Lưu ý: Nên lưu trữ ngày giờ bằng kiểu DATETIME hoặc TIMESTAMP để tận dụng index, hàm ngày tháng và tránh lỗi định dạng. Chỉ dùng VARCHAR khi bắt buộc.