2012-04-25 1 views
2

나는이 같은 많은 열이 있습니다mysql을 업데이트 날짜 칼럼 - 추가 십년 3개월 이십이일 10 시간, 기존 데이터 30 분

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 월,이 같은 것을 볼 수 있도록 이십이일, 13 시간 10 분 :

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

검색과 발견 만 년 중 증가하는 방법 (ADDDATE), 월 ...하지만 어떻게 년, 월, 일,시에 모두 할 수 있습니까?

단일 쿼리에서 수행 할 수 있다면 좋지만 아무것도 괜찮습니다. 시간 내 주셔서 감사합니다.

+0

실제로'라는 이름의 열이 마을 "언제?"? –

+0

@ypercube, 예약 된 mysql 키워드가 없기 때문에 가능합니다. 그렇지 않으면''할 것이다. –

+0

@Mike :'WHEN'은 MySQL 5.0 버전에서조차도 예약되어 있습니다. MySQL 문서에 따르면 : [Reserved words in 5.0] (https://dev.mysql.com/doc/refman/5.1/en/reserved-words. html) –

답변

4

는이 같은 것을 사용할 수 있습니다 - 서버가 버전 5.5 인 경우

SELECT datetime + INTERVAL 10 YEAR + INTERVAL 3 MONTH + INTERVAL 22 DAY 
     + INTERVAL 10 HOUR + INTERVAL 30 MINUTE AS new_date_time FROM table 
+0

작품 ... 고맙습니다. – user379997

0

당신은 UNIX_TIMESTAMP과 함께 TO_SECONDS 및 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 %' 
관련 문제