Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Chèn bản ghi ngày tháng với định dạng khác nhau vào cùng bảng trong MySQL

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.