การอัปเดตค่า DateTime จากคอลัมน์หนึ่งไปอีกคอลัมน์
ใช้คำสั่ง UPDATE ร่วมกับฟังก์ชันวันที่ เช่น DATE_ADD(), NOW()
ตัวอย่างสร้างตารางและข้อมูล
mysql> CREATE TABLE AddDateTimeWithOther (
-> Id INT,
-> IssueDate DATETIME,
-> DueDate DATETIME
-> );
Query OK, 0 rows affected (0.69 sec)
mysql> INSERT INTO AddDateTimeWithOther VALUES(100, NOW(), DATE_ADD(NOW(), INTERVAL -3 YEAR));
mysql> INSERT INTO AddDateTimeWithOther VALUES(101, NOW(), DATE_ADD(NOW(), INTERVAL 2 YEAR));
ข้อมูลเริ่มต้น
mysql> SELECT * FROM AddDateTimeWithOther;
+------+---------------------+---------------------+ | Id | IssueDate | DueDate | +------+---------------------+---------------------+ | 100 | 2018-12-11 17:33:28 | 2015-12-11 17:33:28 | | 101 | 2018-12-11 17:33:37 | 2020-12-11 17:33:37 | +------+---------------------+---------------------+ 2 rows in set (0.00 sec)
อัปเดต DueDate ของ Id=100 ให้เป็น 1 ปีจากตอนนี้
mysql> UPDATE AddDateTimeWithOther
-> SET DueDate = DATE_ADD(NOW(), INTERVAL 1 YEAR)
-> WHERE Id = 100;
Query OK, 1 row affected (0.24 sec)
ผลลัพธ์หลังอัปเดต
mysql> SELECT * FROM AddDateTimeWithOther;
+------+---------------------+---------------------+ | Id | IssueDate | DueDate | +------+---------------------+---------------------+ | 100 | 2018-12-11 17:33:28 | 2019-12-11 17:35:03 | | 101 | 2018-12-11 17:33:37 | 2020-12-11 17:33:37 | +------+---------------------+---------------------+ 2 rows in set (0.00 sec)
ฟังก์ชันวันที่ที่ใช้บ่อย:
NOW()- วันที่และเวลาปัจจุบันCURDATE()- วันที่ปัจจุบันDATE_ADD(date, INTERVAL expr unit)- บวกช่วงเวลาDATE_SUB(date, INTERVAL expr unit)- ลบช่วงเวลาINTERVAL n UNIT- UNIT = SECOND, MINUTE, HOUR, DAY, MONTH, YEAR