我正在将一段带有部分日期的字符串导入到csv文件中。
在导入期间,有没有办法将格式为“9月23日”的字符串转换为DATETIME格式,使用部分日期填充月,日和年以及插入时间作为时间?
编辑:我澄清了这个问题,因此以下答案并不十分相关。
答案 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并生成警告。
答案 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