如何清理日期字段?

时间:2014-02-27 21:57:23

标签: mysql sql database

http://postimg.org/image/s336si4pv/

我有一张赛马信息表,里面有许多骑师,马匹,他们参加比赛的日期以及此问题的其他非必要信息(在此表中,我只选择了一名骑师进行演示)。我想首先清理日期字段,然后创建一个列,找出骑师参加比赛的最早日期和他参加比赛的最后一天之间的差异(即他参加比赛的时间有多长)。

谢谢,

1 个答案:

答案 0 :(得分:1)

首先我要在你的桌子上添加一个新栏目 将其称为corrected_date或类似date的类似内容。

接下来,我将correct_date的所有值设置为NULL

UPDATE tablename SET corrected_date NULL;

将datestring转换为date并将其分配给corrected_date

UPDATE tablename SET corrected_date = STR_TO_DATE(SUBSTRING_INDEX(prevdates, ' ', 1), '%e%b%y) WHERE a_id = a_i AND prevdates <> '---';

检查SUBSTRING_INDEX(prevdates, ' ', 1)部分是否仅用于获取日期。 检查STR_TO_DATE(SUBSTRING_INDEX(prevdates, ' ', 1), '%e%b%y)部分是否正确转换了您的日期。