【发布时间】:2015-01-03 03:50:09
【问题描述】:
我使用工作台将数据库从 MS SQL 转换为 MySql。有一个表有一个名为 ActivityDate (datetime(6)) 的列。出于某种原因,当该列被转换时,它的日期中有一个点,例如 (2013-05-03 11:20:20.420000)。
我想删除 .420000 或点后的任何数字。我试过做SUBSTRING_INDEX(ActivityDate,'.',1),但没用,最后一个数字就是.000000
我也试过UPDATEalerts.activitylogSETActivityDate= date_format(ActivityDate, '%Y-%m-%d %H:%i') WHEREactivitylog.ActivityLogID= 5;
同样的问题...最后我得到.000000
我该怎么做?
【问题讨论】:
-
你确定列的数据类型是
DATETIME而不是VARCHAR? -
是的,我刚刚查了一下,上面写着 datetime(6)
-
原因当然是 SQL Server 和 MySQL 都支持小数秒。 (虽然您需要 MySQL/5.6.4 或更高版本,但您很可能没有。)–
-
试试
select microsecond( time_column )