在日期时间字段中删除毫秒

ray*_*ygo 1 mysql datetime substring

我使用工作台将数据库从MS SQL转换为MySql。有一个表具有称为ActivityDatedatetime(6))的列。由于某种原因,当该列被转换时,它在日期中会有一个点,例如(2013-05-03 11:20:20.420000)。

我想删除.420000或点后的任何数字。我尝试这样做,SUBSTRING_INDEX(ActivityDate,'.',1)但是没有用,最后一位是.000000

我也尝试过UPDATE警报.activitylog SETActivityDate = date_format(ActivityDate, '%Y-%m-%d %H:%i') WHEREactivitylog .ActivityLogID= 5;

同样的问题...我明白了 .000000到最后

我怎样才能做到这一点?

Kou*_*rev 5

只需更改列的数据类型即可排除小数部分。

ALTER TABLE alerts.activitylog MODIFY ActivityDate DATETIME;
Run Code Online (Sandbox Code Playgroud)

类型datetime(6)表示6 digits after the decimal point

有关详细信息,请参见MySQL日期和时间分数支持文档。