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

อัปเดตเฉพาะส่วนวันของ DATE ใน MySQL

ใช้ DATE_FORMAT(date, '%Y-%m-25') ตั้งค่าวันเป็น 25 คงที่ เก็บปีและเดือนเดิม

สร้างตารางตัวอย่าง

mysql> CREATE TABLE DemoTable (
    -> AdmissionDate DATE
    -> );

เพิ่มข้อมูลตัวอย่าง

mysql> INSERT INTO DemoTable VALUES('2019-05-12');
mysql> INSERT INTO DemoTable VALUES('2019-05-18');
mysql> INSERT INTO DemoTable VALUES('2019-04-19');

แสดงข้อมูล

mysql> SELECT * FROM DemoTable;

ผลลัพธ์:

+---------------+
| AdmissionDate |
+---------------+
| 2019-05-12    |
| 2019-05-18    |
| 2019-04-19    |
+---------------+

คำสั่งอัปเดตวันเป็น 25 ทุกแถว

mysql> UPDATE DemoTable SET AdmissionDate = DATE_FORMAT(AdmissionDate, '%Y-%m-25');

ตรวจสอบผลลัพธ์

mysql> SELECT * FROM DemoTable;

ผลลัพธ์:

+---------------+
| AdmissionDate |
+---------------+
| 2019-05-25    |
| 2019-05-25    |
| 2019-04-25    |
+---------------+

คำอธิบาย: DATE_FORMAT(date, '%Y-%m-25') สร้างสตริง 'YYYY-MM-25' จากวันที่เดิม แล้ว MySQL แปลงเป็น DATE อัตโนมัติ | ปีและเดือนคงเดิม เปลี่ยนแค่วัน