Mysql STR_到_时间转换

Mysql STR_到_时间转换,mysql,Mysql,在DB中有一个字符串字段,我需要将其转换为datetime,我的问题是我需要将日期格式从2019年1月3日11:30转换为2011年1月26日14:30:00。我可以对单个记录进行转换,但不知道如何转换表中的所有记录 我听从了建议 但是,所有转换的日期都是0000-00-00:00:00,这可能是因为mysql无法猜测输入日期格式 create table wms_lw.wms_lw ( site_id int null, name varchar(255) null, site varcha

在DB中有一个字符串字段,我需要将其转换为datetime,我的问题是我需要将日期格式从2019年1月3日11:30转换为2011年1月26日14:30:00。我可以对单个记录进行转换,但不知道如何转换表中的所有记录

我听从了建议

但是,所有转换的日期都是0000-00-00:00:00,这可能是因为mysql无法猜测输入日期格式

create table wms_lw.wms_lw (
site_id int null, 
name varchar(255) null,
site varchar(255) null,
date varchar(255) null, 
new_date datetime not null, 
value double null, 
date_2 varchar(255) null 
); 

您可以将日期中的字符串转换为

select str_to_date('03/01/2019 11:30', '%d/%m/%Y %i:%s')
从你的桌子上

select str_to_date(my_col, '%d/%m/%Y %i:%s') from my_table  

有了日期后,您可以使用
date\u format()
按自己的喜好格式化,或者使用
date\u add()

添加具有字段数据类型的表结构创建表wms\u lw.wms\u lw(site\u id int null,name varchar(255)null,site varchar(255)null,date varchar(255)null,new_date datetime不为null,值为双null,date_2 varchar(255)null);首先,将日期、时间戳作为varchar存储在数据库中是不好的,您可以使用时间戳或日期时间类型。
UPDATE wms\u lw.wms\u lw SET date=STR\u to_date(date,'%d-%M-%Y%h:%i')
您可以使用此查询来更改所有数据库中的日期格式rows@Zeljka同意,不确定如何将str_以外的日期格式转换为_日期