Chuyển đổi VARCHAR sang TIMESTAMP trong MySQL
Sử dụng kết hợp STR_TO_DATE() và DATE_FORMAT().
Tạo bảng và chèn dữ liệu
mysql> create table DemoTable1602 ( ReportingDate varchar(40) ); Query OK, 0 rows affected (0.51 sec)
mysql> insert into DemoTable1602 values('Wed Oct 02 16:10:45 IST 2019');
mysql> insert into DemoTable1602 values('Fri May 31 13:00:10 IST 2019');
mysql> insert into DemoTable1602 values('Mon Dec 31 14:20:00 IST 2018');
Truy vấn chuyển đổi
mysql> select date_format(str_to_date(ReportingDate,'%a %b %d %T IST %Y'),'%d-%m-%Y %H:%i:%s')
from DemoTable1602;
Kết quả
+----------------------------------------------------------------------------------+ | 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)
Giải thích định dạng:
%a: Tên ngày viết tắt (Wed, Fri, Mon)%b: Tên tháng viết tắt (Oct, May, Dec)%d: Ngày trong tháng (02, 31)%T: Thời gian 24h (HH:MM:SS)%Y: Năm 4 chữ số- Định dạng đầu ra:
%d-%m-%Y %H:%i:%s(ngày-tháng-năm giờ:phút:giây)