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

เพิ่มวันให้กับ STR_TO_DATE() ใน MySQL

ใช้ DATE_ADD() ร่วมกับ STR_TO_DATE() เพื่อแปลงสตริงเป็นวันที่แล้วบวกวัน

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

mysql> CREATE TABLE DemoTable (
    -> ShippingDate VARCHAR(100)
    -> );

เพิ่มข้อมูลตัวอย่าง (รูปแบบ DD-MM-YYYY)

mysql> INSERT INTO DemoTable VALUES('06-01-2019');
mysql> INSERT INTO DemoTable VALUES('01-04-2017');
mysql> INSERT INTO DemoTable VALUES('29-06-2019');

แสดงข้อมูล

mysql> SELECT * FROM DemoTable;

ผลลัพธ์:

+--------------+
| ShippingDate |
+--------------+
| 06-01-2019   |
| 01-04-2017   |
| 29-06-2019   |
+--------------+

คำสั่งแปลงวันที่และบวก 6 วัน

mysql> SELECT DATE_ADD(STR_TO_DATE(ShippingDate, '%d-%m-%Y'), INTERVAL 6 DAY) AS newShippingDate FROM DemoTable;

ผลลัพธ์:

+-----------------+
| newShippingDate |
+-----------------+
| 2019-01-12      |
| 2017-04-07      |
| 2019-07-05      |
+-----------------+

คำอธิบาย: STR_TO_DATE(..., '%d-%m-%Y') แปลงสตริงเป็น DATE | DATE_ADD(..., INTERVAL 6 DAY) บวก 6 วัน | รูปแบบวันที่อื่น: %Y-%m-%d, %m/%d/%Y ฯลฯ