将字符串“9月23日”转换为DATETIME

时间:2012-10-04 03:53:47

标签: mysql datetime

我正在将一段带有部分日期的字符串导入到csv文件中。

在导入期间,有没有办法将格式为“9月23日”的字符串转换为DATETIME格式,使用部分日期填充月,日和年以及插入时间作为时间?

编辑:我澄清了这个问题,因此以下答案并不十分相关。

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

我想你可以尝试DATE_FORMAT()。

mysql> SELECT STR_TO_DATE('OCT 1, 2013','%M %d,%Y'); // -> '2013-10-01'

STR_TO_DATE - 如果格式字符串包含日期和时间部分,则返回DATETIME值;如果字符串仅包含日期或时间部分,则返回DATE或TIME值。如果从str中提取的日期,时间或日期时间值是非法的,STR_TO_DATE()将返回NULL并生成警告。

请参阅此link和此also

答案 2 :(得分:0)

这很难看,但确实有效。主要问题是创建年份和时间,还处理当月的单个数值。 CONCAT_WS是这种情况下的粘合剂:

STR_TO_DATE(CONCAT_WS(',','September 5',YEAR(NOW()), TIME(NOW())), '%M %e, %Y, %T')

返回:

2012-09-05 11:51:46
相关问题