Rails mysql如何一次更改多个列上的时间?

Rails mysql如何一次更改多个列上的时间?,mysql,ruby-on-rails,ruby,ruby-on-rails-3,Mysql,Ruby On Rails,Ruby,Ruby On Rails 3,在我的表中,有一列dato,其中包含日期时间: 2011-04-12 10:37:07 2011-04-12 10:31:07 2011-04-10 10:32:07 2011-04-11 10:45:07 2011-04-12 10:37:07 我想将所有dato列的时间更改为00:00:00 它是如何完成的?请参见我相信您希望更改多个记录而不是列。无论如何: UPDATE mytable SET dato = DATE_FORMAT(dato, '%Y-%m-%d 00:00:00');

在我的表中,有一列dato,其中包含日期时间:

2011-04-12 10:37:07
2011-04-12 10:31:07
2011-04-10 10:32:07
2011-04-11 10:45:07
2011-04-12 10:37:07
我想将所有dato列的时间更改为00:00:00


它是如何完成的?

请参见

我相信您希望更改多个记录而不是列。无论如何:

UPDATE mytable
SET dato = DATE_FORMAT(dato, '%Y-%m-%d 00:00:00');

您可以通过以下查询执行此操作

UPDATE <table> SET <date column>= DATE(<date column>);

您可以使用
mysql
工具从控制台进行查询。

这是一个比您想象的更复杂的查询。如果您经常这样做,您可能会发现将日期与时间分开比较容易,或者只保存日期而不给出时间,默认情况下您将始终获得00:00:00。如何使用“全部更新”而不覆盖日期(2011-04-12)?我应该在控制台/终端中执行此操作吗?如果这是一次性更改,只需启动mysql控制台并在那里执行即可。如果您需要定期这样做,那么您应该重新考虑修复您的应用程序代码。顺便说一句,我推荐乔纳斯的解决方案,而不是我的。
UPDATE Customer SET startDate = DATE(startDate);