Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 날짜를 업데이트하고 1년씩 증가시키시겠습니까?

<시간/>

MySQL의 내장 함수 date_add()를 사용할 수 있습니다. 구문은 다음과 같습니다 -

업데이트 yourTableName SETyourDateColumnName=DATE_ADD(yourDateColumnName,간격 1년);

위의 구문을 이해하기 위해 먼저 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> Create table UpdateDate -> ( -> Id int, -> DueDate datetime -> );쿼리 OK, 영향을 받는 행 0개(0.76초)

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 레코드를 삽입하는 쿼리는 다음과 같습니다 -

mysql> insert into UpdateDate values(1001,'2012-5-21');Query OK, 1행 영향(0.17초)mysql> insert into UpdateDate values(1002,'2013-8-2');Query OK, 1행 영향(0.17초)mysql> UpdateDate 값에 삽입(1003,'2014-2-27');쿼리 OK, 1행 영향(0.10초)mysql> UpdateDate 값에 삽입(1004,'2016-11 -1');쿼리 OK, 1행 영향(0.18초)mysql> UpdateDate 값에 삽입(1005,'2017-12-24');쿼리 OK, 1행 영향(0.12초)

이제 select 명령을 사용하여 테이블의 모든 레코드를 표시해 보겠습니다. 쿼리는 다음과 같습니다 -

mysql> 선택 *UpdateDate;

출력

+------+---------------------+| 아이디 | 마감일 |+------+---------------------+| 1001 | 2012-05-21 00:00:00 || 1002 | 2013-08-02 00:00:00 || 1003 | 2014-02-27 00:00:00 || 1004 | 2016-11-01 00:00:00 || 1005 | 2017-12-24 00:00:00 |+------+--------------------+5행 세트(0.00초) 

다음은 date_add() 및 간격을 사용하여 날짜를 1년으로 업데이트하는 데 사용할 수 있는 쿼리입니다. 쿼리는 다음과 같습니다 -

mysql> update UpdateDate set DueDate=date_add(DueDate,interval 1 year);Query OK, 영향을 받는 행 5개(0.15초) 일치하는 행:5 변경됨:5 경고:0

select 명령을 사용하여 테이블을 확인하십시오. 쿼리는 다음과 같습니다 -

mysql> 선택 *UpdateDate;

출력

+------+---------------------+| 아이디 | 마감일 |+------+---------------------+| 1001 | 2013-05-21 00:00:00 || 1002 | 2014-08-02 00:00:00 || 1003 | 2015-02-27 00:00:00 || 1004 | 2017-11-01 00:00:00 || 1005 | 2018-12-24 00:00:00 |+------+--------------------+5행 세트(0.00초) 

위의 샘플 출력을 보면 모든 값이 업데이트되었습니다. 특정 날짜 시간을 업데이트하려면 where 조건을 사용하십시오.