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

MySQL - 연도를 2020년에서 2011년으로 변경하시겠습니까?

<시간/>

2020년에서 2011년 사이에는 9년의 차이가 있기 때문에 INTERVAL이 9년인 SUBDATE()를 사용하여 날짜의 연도를 2020년에서 2011년으로 변경할 수 있습니다.

구문은 다음과 같습니다.

업데이트 yourTableNameSET yourDateColumnName=SUBDATE(yourDateColumnName,INTERVAL 9 YEAR);

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

mysql> Create table ChangeYearFrom2020To2011 -> ( -> Id int NOT NULL AUTO_INCREMENT, -> ExpiryDate date, -> PRIMARY KEY(Id) -> );Query OK, 영향을 받는 행 0개(0.67초)

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

mysql> ChangeYearFrom2020To2011(ExpiryDate) 값('2020-09-12')에 삽입, 쿼리 확인, 1행 영향(0.19초)mysql> ChangeYearFrom2020To2011(만료일) 값('2020-12-21)에 삽입;Query OK, 1행 영향(0.17초)mysql> ChangeYearFrom2020To2011(ExpiryDate) values('2020-01-29')에 삽입;Query OK, 1행 영향(0.12초)mysql> ChangeYearFrom2020To2011 values(ExpiryDate '2020-06-30');쿼리 OK, 1행 영향(0.19초)mysql> Insert into ChangeYearFrom2020To2011(ExpiryDate) values('2020-12-31');쿼리 OK, 1행 영향(0.13초) 

select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다.

mysql> Select *from ChangeYearFrom2020To2011;

다음은 출력입니다.

+----+------------+| 아이디 | 만료일 |+----+------------+| 1 | 2020-09-12 || 2 | 2020-12-21 || 3 | 2020-01-29 || 4 | 2020-06-30 || 5 | 2020-12-31 |+----+------------+5행 세트(0.00초)

다음은 2020년에서 2011년으로 연도만 변경하는 쿼리입니다.

mysql> update ChangeYearFrom2020To2011 -> set ExpiryDate=subdate(ExpiryDate,interval 9 year);Query OK, 영향을 받는 행 5개(0.20초) 일치하는 행:5 변경됨:5 경고:0

이제 테이블의 모든 레코드를 다시 한 번 확인합니다. 쿼리는 다음과 같습니다.

mysql> Select *from ChangeYearFrom2020To2011;

다음은 출력입니다.

+----+------------+| 아이디 | 만료일 |+----+------------+| 1 | 2011-09-12 || 2 | 2011-12-21 || 3 | 2011-01-29 || 4 | 2011-06-30 || 5 | 2011-12-31 |+----+------------+5행 세트(0.00초)