เพิ่มปีให้กับคอลัมน์วันที่ด้วย DATE_ADD และ INTERVAL
ใช้ฟังก์ชัน DATE_ADD(date, INTERVAL value unit) เพื่อบวกช่วงเวลาเข้ากับวันที่
รูปแบบคำสั่ง (Syntax)
UPDATE yourTableName
SET yourDateColumn = DATE_ADD(yourDateColumn, INTERVAL 1 YEAR);
ตัวอย่างการใช้งาน
สร้างตาราง UpdateDate:
CREATE TABLE UpdateDate (
Id INT,
DueDate DATETIME
);
ข้อมูลต้นฉบับ:
| Id | DueDate |
|---|---|
| 1001 | 2012-05-21 00:00:00 |
| 1002 | 2013-08-02 00:00:00 |
| 1003 | 2014-02-27 00:00:00 |
| 1004 | 2016-11-01 00:00:00 |
| 1005 | 2017-12-24 00:00:00 |
อัปเดตเพิ่ม 1 ปี ทุกแถว:
UPDATE UpdateDate
SET DueDate = DATE_ADD(DueDate, INTERVAL 1 YEAR);
ผลลัพธ์:
| Id | DueDate |
|---|---|
| 1001 | 2013-05-21 00:00:00 |
| 1002 | 2014-08-02 00:00:00 |
| 1003 | 2015-02-27 00:00:00 |
| 1004 | 2017-11-01 00:00:00 |
| 1005 | 2018-12-24 00:00:00 |
หน่วยเวลาที่ใช้ได้ (INTERVAL unit)
| Unit | คำอธิบาย |
|---|---|
| SECOND | วินาที |
| MINUTE | นาที |
| HOUR | ชั่วโมง |
| DAY | วัน |
| WEEK | สัปดาห์ |
| MONTH | เดือน |
| QUARTER | ไตรมาส |
| YEAR | ปี |
| MICROSECOND | ไมโครวินาที |
หมายเหตุ: ใช้ WHERE clause หากต้องการอัปเดตเฉพาะบางแถว