Giới thiệu
Sử dụng INSERT INTO ... SELECT kết hợp DATE_FORMAT() để chuyển đổi ngày giờ sang định dạng chuỗi tùy ý và lưu vào cột khác.
1. Tạo bảng
mysql> create table DemoTable (
-> DateOfJoining datetime,
-> JoiningDate text
-> );
Query OK, 0 rows affected (0.79 sec)
2. Chèn dữ liệu ngày giờ
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)
3. Dữ liệu ban đầu
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)
4. Chèn định dạng mới vào cùng bảng
mysql> insert into DemoTable(JoiningDate)
-> select date_format(DateOfJoining, '%W %e, %b %Y @ %r') from DemoTable;
Query OK, 2 rows affected (0.13 sec)
Records: 2 Duplicates: 0 Warnings: 0
Định dạng %W %e, %b %Y @ %r:
- %W: Tên ngày trong tuần (Saturday)
- %e: Ngày trong tháng (26)
- %b: Tên tháng viết tắt (Oct)
- %Y: Năm 4 chữ số (2019)
- %r: Giờ 12h với AM/PM (01:52:10 PM)
5. Kết quả
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)
Lưu ý: Cách này tạo thêm hàng mới. Để cập nhật cột hiện có, dùng UPDATE với DATE_FORMAT.