http://postimg.org/image/s336si4pv/
我有一张赛马信息表,里面有许多骑师,马匹,他们参加比赛的日期以及此问题的其他非必要信息(在此表中,我只选择了一名骑师进行演示)。我想首先清理日期字段,然后创建一个列,找出骑师参加比赛的最早日期和他参加比赛的最后一天之间的差异(即他参加比赛的时间有多长)。
谢谢,
答案 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)
部分是否正确转换了您的日期。