Computer >> Máy Tính >  >> Lập trình >> MySQL

Chuyển đổi Ngày VARCHAR sang một định dạng khác trong MySQL?

Giả sử bạn đã đặt ngày ở định dạng VARCHAR. Bây giờ nếu bạn muốn cập nhật định dạng, hãy sử dụng lệnh UPDATE cùng với STR_TO_DATE (). Cú pháp như sau -

update yourTableName set yourColumnName=str_to_date(yourColumnName,'%m/%d/%Y');

Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable
(
   DueDate varchar(100)
);
Query OK, 0 rows affected (0.56 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable values('12/01/2019');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('01/31/2016');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('03/17/2018');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('07/25/2017');
Query OK, 1 row affected (0.14 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable;

Điều này sẽ tạo ra kết quả sau -

+------------+
| DueDate    |
+------------+
| 12/01/2019 |
| 01/31/2016 |
| 03/17/2018 |
| 07/25/2017 |
+------------+
4 rows in set (0.00 sec)

Sau đây là truy vấn để chuyển đổi dữ liệu varchar sang một định dạng khác trong MySQL -

mysql> update DemoTable set DueDate=str_to_date(DueDate,'%m/%d/%Y');
Query OK, 4 rows affected (0.18 sec)
Rows matched: 4 Changed: 4 Warnings: 0

Hãy để chúng tôi kiểm tra các bản ghi bảng một lần nữa -

mysql> select *from DemoTable;

Điều này sẽ tạo ra kết quả sau -

+------------+
| DueDate    |
+------------+
| 2019-12-01 |
| 2016-01-31 |
| 2018-03-17 |
| 2017-07-25 |
+------------+
4 rows in set (0.00 sec)