MySQL 5.6.4及更高版支持时间列类型的小数秒。 http://dev.mysql.com/doc/refman/5.6/en/fractional-seconds.html
但我想忽略小数秒部分的兼容性。
mysql> CREATE TABLE `t1` (`created` datetime(0) NOT NULL);
Query OK, 0 rows affected (0.41 sec)
mysql> INSERT INTO t1 set created = '2013-08-27 05:13:21.999';
mysql> INSERT INTO t1 set created = '2013-08-27 23:59:59.999';
mysql> select * from t1;
+---------------------+
| created |
+---------------------+
| 2013-08-27 05:13:22 |
| 2013-08-28 00:00:00 |
+---------------------+
2 row in set (0.00 sec)
预期结果为'2013-08-27 05:13:21'和'2013-08-27 23:59:59'。
如何使用以前版本的MySQL保存相同的结果?
答案 0 :(得分:3)
答案 1 :(得分:0)
使用 SUBTIME 功能从时间中减去分数..
试试这个...从原始时间减去微秒然后转换为日期格式......
SELECT cast(SUBTIME(created,cast(concat('0:0:0.',(microsecond(created))) as time)) as datetime) from t1;
我测试了它..它的工作.. PFB快照..