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

Chuyển đổi chuỗi (varchar) sang định dạng dấu thời gian trong MySQL?

Để chuyển đổi chuỗi sang định dạng dấu thời gian, hãy sử dụng STR_TO_DATE () cùng với DATE_FORMAT (). Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable1602
   -> (
   -> ReportingDate varchar(40)
   -> );
Query OK, 0 rows affected (0.51 sec)

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

mysql> insert into DemoTable1602 values('Wed Oct 02 16:10:45 IST 2019');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable1602 values('Fri May 31 13:00:10 IST 2019');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1602 values('Mon Dec 31 14:20:00 IST 2018');
Query OK, 1 row affected (0.23 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 DemoTable1602;

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

+------------------------------+
| ReportingDate                |
+------------------------------+
| Wed Oct 02 16:10:45 IST 2019 |
| Fri May 31 13:00:10 IST 2019 |
| Mon Dec 31 14:20:00 IST 2018 |
+------------------------------+
3 rows in set (0.00 sec)

Sau đây là truy vấn để chuyển đổi chuỗi sang định dạng dấu thời gian trong MySQL -

mysql> select date_format(str_to_date(ReportingDate,'%a %b %d %T IST %Y'),'%d-%m-%Y %H:%i:%s') from DemoTable1602;

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

+----------------------------------------------------------------------------------+
| date_format(str_to_date(ReportingDate,'%a %b %d %T IST %Y'),'%d-%m-%Y %H:%i:%s') |
+----------------------------------------------------------------------------------+
| 02-10-2019 16:10:45                                                              |
| 31-05-2019 13:00:10                                                              |
| 31-12-2018 14:20:00                                                              |
+----------------------------------------------------------------------------------+
3 rows in set (0.03 sec)