MySQL str_to_date()

时间:2018-01-19 18:37:20

标签: mysql

我遇到了一个问题,试图将日期列格式化为:u'\u2013'.encode('ascii', 'ignore') 到标准的MYSQL格式。我试图做的是:

05-JUN-15

我以为我选择了正确的日期格式,但收到此错误:UPDATE sp_building_headcount set `ATTENDANCE_LOCALDATE` = str_to_date(`ATTENDANCE_LOCALDATE`,'%d-%b-%y')

正确的日期/时间格式是什么?

2 个答案:

答案 0 :(得分:0)

您的数据为List<Type>.class。您的05-JUN-15格式为str_to_date,即%d/%B/%y。您的数据与分隔符所在的格式和月份的大小写都不匹配。数据必须符合您告诉MySQL的格式。

答案 1 :(得分:0)

我感谢@tadman找到的解决方案(在信用到期时给予信用)是首先使用lower()将其从05-JUN-15转换为05-jun-15。 lower()的示例:

UPDATE sp_building_headcount

set `ATTENDANCE_LOCALDATE` = LOWER(`ATTENDANCE_LOCALDATE`)

然后使用:

UPDATE sp_building_headcount
    set `ATTENDANCE_LOCALDATE` = str_to_date(`ATTENDANCE_LOCALDATE`,'%d-%b-%y')