2

我有很多这样的专栏:

select when from t1 where when LIKE '2002-01-02 %'\G
*************************** 1. row ***************************
when: 2002-01-02 02:13:14
*************************** 2. row ***************************
when: 2002-01-02 02:15:31
*************************** 3. row ***************************
when: 2002-01-02 02:19:42

我正在尝试将日期和时间增加 10 年 3 个月 22 天和 13 小时 10 分钟,使其看起来像:

2012-04-24 15:23:14
2012-04-24 15:25:31
2012-04-24 15:29:42

搜索并找到仅增加年份或月份的方法(添加)......但是我该怎么做所有年份、月份、日期和时间?

如果它可以在单个查询中完成,那就太好了,但一切都很好..感谢您的时间。

4

2 回答 2

4

你可以使用这样的东西 -

SELECT datetime + INTERVAL 10 YEAR + INTERVAL 3 MONTH + INTERVAL 22 DAY
       + INTERVAL 10 HOUR + INTERVAL 30 MINUTE AS new_date_time FROM table
于 2012-04-25T09:33:46.463 回答
0

如果您的服务器是 5.5 或更高版本,您可以将 TO_SECONDS 与 UNIX_TIMESTAMP 和 FROM_UNIXTIME 结合使用:

SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(when) + TO_SECONDS('0010-03-22 13:10:00')) new_when 
FROM t1
WHERE when LIKE '2002-01-02 %'
于 2012-04-25T09:48:12.830 回答