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

年または月のみを増やす方法 ( ADDDATE ) を検索して見つけましたが、年、月、日付、および時刻のすべてに対してどのようにすればよいですか?

単一のクエリで実行できる場合は素晴らしいことですが、何でも結構です..お時間をいただきありがとうございます。

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 に答える