ใช้ INSERT INTO ... SELECT ร่วมกับ DATE_FORMAT() เพื่อแปลงรูปแบบวันที่แล้วบันทึกลงคอลัมน์ข้อความ
mysql> CREATE TABLE DemoTable (
-> DateOfJoining DATETIME,
-> JoiningDate TEXT
-> );
Query OK, 0 rows affected (0.79 sec)
mysql> INSERT INTO DemoTable(DateOfJoining) VALUES('2019-10-26 13:52:10');
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO DemoTable(DateOfJoining) VALUES('2018-12-31 15:20:40');
Query OK, 1 row affected (0.16 sec)
mysql> SELECT * FROM DemoTable;
+---------------------+-------------+ | DateOfJoining | JoiningDate | +---------------------+-------------+ | 2019-10-26 13:52:10 | NULL | | 2018-12-31 15:20:40 | NULL | +---------------------+-------------+ 2 rows in set (0.00 sec)
แปลงและแทรกวันที่ใหม่ในรูปแบบที่อ่านง่าย:
mysql> INSERT INTO DemoTable(JoiningDate)
-> SELECT DATE_FORMAT(DateOfJoining, '%W %e, %b %Y @ %r') FROM DemoTable;
Query OK, 2 rows affected (0.13 sec)
mysql> SELECT * FROM DemoTable;
+---------------------+-------------------------------------+ | DateOfJoining | JoiningDate | +---------------------+-------------------------------------+ | 2019-10-26 13:52:10 | NULL | | 2018-12-31 15:20:40 | NULL | | NULL | Saturday 26, Oct 2019 @ 01:52:10 PM | | NULL | Monday 31, Dec 2018 @ 03:20:40 PM | +---------------------+-------------------------------------+ 4 rows in set (0.00 sec)
หมายเหตุ: คิวรี่นี้สร้างแถวใหม่ (INSERT) ไม่ใช่ UPDATE แถวเดิม หากต้องการอัปเดตคอลัมน์ JoiningDate ของแถวเดิม ให้ใช้ UPDATE แทน