2011-10-19 61 views
31

Tôi có một bảng trong MySQL. Câu lệnh sql sẽ như thế nào để thêm 2 ngày vào giá trị ngày hiện tại trong bảng?MySQL thêm ngày vào một ngày

UPDATE classes 
SET 
date = date + 1 
where id = 161 

điều này thêm một giây vào giá trị, tôi không muốn cập nhật thời gian, tôi muốn thêm hai ngày?

+0

bản sao có thể có của [Thêm 30 ngày cho ngày trong db] (http://stackoverflow.com/questions/1609377/add-30-days-for-date-in-db) – JJJ

Trả lời

69

Giả lĩnh vực của bạn là một loại date (hoặc tương tự):

SELECT DATE_ADD(`your_field_name`, INTERVAL 2 DAY) 
FROM `table_name`; 

Với ví dụ bạn đã cung cấp nó có thể trông như thế này:

UPDATE classes 
SET `date` = DATE_ADD(`date` , INTERVAL 2 DAY) 
WHERE `id` = 161; 
+0

ngày giờ của nó ... sẽ này vẫn làm việc? – Beginner

+0

Có, nó cũng sẽ hoạt động với loại ngày giờ. – Bjoern

1

Đối với nhu cầu của bạn:

UPDATE classes 
SET `date` = DATE_ADD(`date`, INTERVAL 2 DAY) 
WHERE id = 161 
5
UPDATE table SET nameofdatefield = ADDDATE(nameofdatefield, 2) WHERE ... 
+0

Cảm ơn bạn đã bao gồm phương tiện thay thế này để thêm ngày vào trường ngày. Tôi đã tìm kiếm một cách để tăng một ngày bằng cách sử dụng một đối số thủ tục lưu trữ có chứa số ngày. Thật không may, cú pháp DATE_ADD không cho phép điều này. – w5m

1
SELECT DATE_ADD(CURDATE(), INTERVAL 2 DAY) 
1
DATE_ADD(FROM_DATE_HERE, INTERVAL INTERVAL_TIME_HERE DAY) 

sẽ cung cấp cho các ngày sau khi điều chỉnh INTERVAL

ví dụ.

DATE_ADD(NOW(), INTERVAL -1 DAY) for deducting 1 DAY from current Day 
DATE_ADD(NOW(), INTERVAL 2 DAY) for adding 2 Days 

Bạn có thể sử dụng như

UPDATE classes WHERE date=(DATE_ADD(date, INTERVAL 1 DAY)) WHERE id=161 
0
SET date = DATE_ADD(fieldname, INTERVAL 2 DAY) 
4

Truy vấn này đứng tốt cho việc lấy các giá trị giữa ngày hiện tại và 3 ngày tiếp theo của nó

SELECT * FROM tableName 
WHERE columName BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 3 DAY) 

Điều này cuối cùng sẽ bổ sung thêm 3 ngày của bộ đệm đến ngày hiện tại.

+0

Đó là những gì tôi muốn. cảm ơn –

Các vấn đề liên quan