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

MySQL: อัปเดตวันที่ทั้งหมดเป็นวันที่ปัจจุบัน (CURDATE)

การตั้งค่าวันที่ปัจจุบันให้ทุกแถว

ใช้ UPDATE table SET date_col = CURDATE() เพื่อตั้งค่าวันที่ (ไม่รวมเวลา) ให้ทุกแถวเป็นวันนี้

ตัวอย่าง

mysql> create table DemoTable821(AdmissionDate datetime);
Query OK, 0 rows affected (1.24 sec)
mysql> insert into DemoTable821 values('2019-01-21');
mysql> insert into DemoTable821 values('2018-11-02');
mysql> insert into DemoTable821 values('2016-12-31');
mysql> insert into DemoTable821 values('2015-03-19');

คำสั่ง UPDATE

mysql> update DemoTable821 set AdmissionDate = CURDATE();
Query OK, 4 rows affected (0.74 sec)

ผลลัพธ์ (สมมติวันนี้ 2019-08-03)

+---------------------+
| AdmissionDate       |
+---------------------+
| 2019-08-03 00:00:00 |
| 2019-08-03 00:00:00 |
| 2019-08-03 00:00:00 |
| 2019-08-03 00:00:00 |
+---------------------+

ฟังก์ชันวันที่ที่เกี่ยวข้อง

ฟังก์ชันคืนค่าตัวอย่าง
CURDATE()วันที่ปัจจุบัน (YYYY-MM-DD)2024-01-15
NOW()วันที่และเวลาปัจจุบัน2024-01-15 14:30:00
CURRENT_DATE()เหมือน CURDATE()2024-01-15
CURRENT_TIMESTAMP()เหมือน NOW()2024-01-15 14:30:00

สรุป

ใช้ UPDATE table SET datetime_col = CURDATE() ตั้งค่าวันที่ปัจจุบันให้ทุกแถว (เวลาจะเป็น 00:00:00) ใช้ NOW() ถ้าต้องการเวลาปัจจุบันด้วย