Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธี Insert/OdateTime ไปยังฟิลด์ DateTime อื่นใน MySQL

การอัปเดตค่า 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