我已将DATE列添加到表中,但现在需要使用另一列中的值填充该DATE列 - 除了原始列是INT。 INT列是mmddyyyy。有没有办法使用
进行复制和格式化UPDATE `table` SET int_column = date_column
答案 0 :(得分:1)
尝试使用str_to_date和lpad函数:
UPDATE `table` SET date_column = str_to_date(lpad(int_column, 8, 0),'%m%d%Y')
为什么使用lpad(int_column, 8, 0)
- 当日期是02012017时,直接转换为char会将其转换为2012017,str_to_date函数将返回null。 Lpad pad需要0来使长度为8,因此输出02012017,str_to_date函数将正确转换。