将mySQL中的字符串字段“2013年1月30日星期三下午1:02”转换为日期,并替换相邻字段
我有一个带有两个字段的表TableA,strField和dateField。字符串字段strField中有文本日期,如2013年1月30日星期三下午1:02,但我需要将其转换为日期格式,并将其替换到名为dateField的相邻字段中。有没有一个简单的方法可以做到这一点,还是我必须做所有的剥离 我认为最后一步很容易。当我把所有的东西都剥掉,让绳子看起来像这样的2013-02-15 11:45:21.0它将只是一个简单的过程将mySQL中的字符串字段“2013年1月30日星期三下午1:02”转换为日期,并替换相邻字段,mysql,Mysql,我有一个带有两个字段的表TableA,strField和dateField。字符串字段strField中有文本日期,如2013年1月30日星期三下午1:02,但我需要将其转换为日期格式,并将其替换到名为dateField的相邻字段中。有没有一个简单的方法可以做到这一点,还是我必须做所有的剥离 我认为最后一步很容易。当我把所有的东西都剥掉,让绳子看起来像这样的2013-02-15 11:45:21.0它将只是一个简单的过程 STR_TO_DATE('2013-02-15 11:45:21.0',
STR_TO_DATE('2013-02-15 11:45:21.0', '%m/%d/%Y')
也许有一个函数可以轻松地剥离数据并重新格式化原始文本字符串
SELECT
DATE_FORMAT(
STR_TO_DATE( 'Wednesday, January 30th, 2013, 1:02 PM', '%W, %M %D, %Y, %I:%i %p' ), '%Y-%m-%d %T');
链接
对于其他格式转换,请查看MySQL文档中的
对于您的更新,这将执行以下操作:
UPDATE `tableA`
SET `dateField` = DATE_FORMAT(
STR_TO_DATE(`strField`, '%W, %M %D, %Y, %I:%i %p'),
'%Y-%m-%d');
你真厉害,转眼就回来了!