如何为MySQL数据库中的所有时间戳/日期时间添加偏移量?
我有一些MySQL数据库,它们有几个表,其中包括一些DATETIME列。我正在寻找一种方法,为整个数据库中的所有DATETIME列添加一些时间(比如一年) 当数据最初写入数据库时,如果系统时间错误,这将非常有用 或者,就像我的情况一样 使用历史数据为应用程序创建最近的演示数据如何为MySQL数据库中的所有时间戳/日期时间添加偏移量?,mysql,datetime,offset,Mysql,Datetime,Offset,我有一些MySQL数据库,它们有几个表,其中包括一些DATETIME列。我正在寻找一种方法,为整个数据库中的所有DATETIME列添加一些时间(比如一年) 当数据最初写入数据库时,如果系统时间错误,这将非常有用 或者,就像我的情况一样 使用历史数据为应用程序创建最近的演示数据 是否有一种方法可以同时移动数据库中的所有DATETIME字段 如果不是,如何移动一个表中所有条目的DATATIME列(即添加一些偏移) 谢谢你的回答 尝试使用INTERVAL关键字 UPDATE table_name
- 是否有一种方法可以同时移动数据库中的所有DATETIME字段
- 如果不是,如何移动一个表中所有条目的DATATIME列(即添加一些偏移)
谢谢你的回答 尝试使用
INTERVAL
关键字
UPDATE table_name SET column_name = column_name + INTERVAL 1 unit
或者可能是这个
ADDTIME()
将expr2添加到expr1并返回结果。expr1是时间或日期时间表达式,expr2是时间表达式
SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
单位值是这样的
unit Value Expected expr Format
MICROSECOND MICROSECONDS
SECOND SECONDS
MINUTE MINUTES
HOUR HOURS
DAY DAYS
WEEK WEEKS
MONTH MONTHS
QUARTER QUARTERS
YEAR YEARS
这应该可以解决问题。您想永久移动值(即更新)还是返回偏移列值(即选择)?我想永久移动值!
UPDATE table SET date_column = DATE_ADD(date_column, INTERVAL 1 YEAR);