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

Làm thế nào để chuyển đổi MM / YY sang YYYY-MM-DD với một ngày cụ thể trong MySQL?


Để chuyển đổi, hãy sử dụng STR_TO_DATE (), như trong cú pháp bên dưới. Nối giá trị ngày với CONCAT () -

select str_to_date(concat('yourDateValue/', yourColumnName), '%d/%m/%y') as anyAliasName
from yourTableName;

Hãy để chúng tôi tạo một bảng -

mysql> create table demo46
−> (
−> id int not null auto_increment primary key,
−> short_date varchar(20)
−> );
Query OK, 0 rows affected (0.60 sec)

Chèn một số bản ghi vào bảng với sự trợ giúp của lệnh insert -

mysql> insert into demo46(short_date) values('09/18');
Query OK, 1 row affected (0.08 sec)

mysql> insert into demo46(short_date) values('12/20');
Query OK, 1 row affected (0.12 sec)

mysql> insert into demo46(short_date) values('11/20');
Query OK, 1 row affected (0.20 sec)

Hiển thị các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

mysql> select *from demo46;

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

+----+------------+
| id | short_date |
+----+------------+
|  1 | 09/18      |
|  2 | 12/20      |
|  3 | 11/20      |
+----+------------+
3 rows in set (0.00 sec)

Sau đây là truy vấn để chuyển đổi MM / YY thành YYYY-MM-DD trong MySQL.

mysql> select str_to_date(concat('24/', short_date), '%d/%m/%y') as Convert_In_Full_Date
−> from demo46;

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

+----------------------+
| Convert_In_Full_Date |
+----------------------+
| 2018−09−24           |
| 2020−12−24           |
| 2020−11−24           |
+----------------------+
3 rows in set (0.00 sec)