如何为 MySQL 数据库中的所有时间戳/DATETIME 添加偏移量?

发布于 2024-12-31 23:00:34 字数 301 浏览 2 评论 0原文

我有一些 MySQL 数据库,其中有多个表,其中包含(除其他外)一些 DATETIME 列。我正在寻找一种方法来向整个数据库中的所有 DATETIME 列添加一些时间(例如一年)。

如果数据最初写入数据库时​​系统时间错误,这会很有用。

或者,就像我的例子一样,

根据历史数据为应用程序创建最新的演示数据。

  • 有没有办法一次移动数据库中的所有 DATETIME 字段?
  • 如果不是,如何移动一个表中所有条目的 DATATIME 列(即添加一些偏移量)?

感谢您的回答!

I have some MySQL databases that have several tables that contain (amongst others) some DATETIME columns. I am searching for a way to add some amount of time (say one year) to all DATETIME columns in the whole database.

This can be useful if the system-time was wrong when the data was originally written to the database.

OR, as in my case

to create recent DEMO-data for an application out of historical data.

  • Is there a way to shift all DATETIME fields in a Database at once?
  • If not, How can the DATATIME column of all entries in ONE table be shifted (i.e. add some offset)?

thanks for your answers!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清眉祭 2025-01-07 23:00:34
UPDATE table SET date_column = DATE_ADD(date_column, INTERVAL 1 YEAR);

这应该可以解决问题。

UPDATE table SET date_column = DATE_ADD(date_column, INTERVAL 1 YEAR);

This should do the trick.

萌辣 2025-01-07 23:00:34

尝试使用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  

Try using INTERVAL keyword like

UPDATE table_name SET column_name = column_name + INTERVAL 1 unit

OR possibly this

ADDTIME() adds expr2 to expr1 and returns the result. expr1 is a time or datetime expression, and expr2 is a time expression.

SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');

Unit values goes like this

unit Value  Expected expr Format  
MICROSECOND MICROSECONDS  
SECOND  SECONDS  
MINUTE  MINUTES  
HOUR    HOURS  
DAY         DAYS  
WEEK    WEEKS  
MONTH   MONTHS  
QUARTER QUARTERS  
YEAR    YEARS  
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文