【发布时间】:2013-04-20 18:07:14
【问题描述】:
我的数据库中有几张表格,特别是最初根据东部时间设置的表格。它有 12k+ 条记录,我试图找到一种理智的方法来覆盖这些表上的数据时间记录,以匹配一个等效的 gmt 日期时间,而不必构建一个循环来逐个循环更新它们。是否可以有效地做到这一点,还是我必须一个一个地循环它们?
【问题讨论】:
我的数据库中有几张表格,特别是最初根据东部时间设置的表格。它有 12k+ 条记录,我试图找到一种理智的方法来覆盖这些表上的数据时间记录,以匹配一个等效的 gmt 日期时间,而不必构建一个循环来逐个循环更新它们。是否可以有效地做到这一点,还是我必须一个一个地循环它们?
【问题讨论】:
ADDTIME() 函数呢?您可以通过一个简单的查询来更新您需要的所有列
【讨论】:
您可以使用 CONVERT_TZ() 函数。但在进行任何操作之前,请尝试进行备份(例如,将您的列复制到另一个名为 timetest 的列)
然后试试这个:
UPDATE table_name SET timecolumn = CONVERT_TZ(timecolumn,'EST','GMT');
【讨论】:
0000-00-00 00:00:00 :-\