본문 바로가기
MySql

MySQL mysql에서 날짜 형식 업데이트

by 베이스 공부 2020. 10. 27.
반응형

일부는 mm / dd / yy에 있고 최신 항목은 yyyy / mm / dd에 있어야하는 필드에 두 가지 형식의 날짜가 저장된 테이블에서 작업하고 있습니다.

다음과 같은 쿼리를 실행하고 싶습니다.

UPDATE table
   SET date_field = DATE_FORMAT(date_field, '%Y/%m/%d') 
 WHERE date_field = DATE_FORMAT(date_field, '%m/%d/%y')

그러나 그것은 잘 풀리지 않습니다. 내가 얻은 한 가지 결과는 % m 데이터를 가져 와서 % Y로 바꾸고 실제로 데이터를 엉망으로 만드는 것입니다.

이견있는 사람?

 

해결 방법

 

DATE_FORMAT이 아닌 STR_TO_DATE 함수를 사용하려고합니다. 또한 잘못된 날짜 만 업데이트한다고 가정하므로 다음과 같이 할 수 있습니다.

UPDATE your_table
SET date_field = DATE(STR_TO_DATE(date_field, '%m/%d/%Y'))
WHERE DATE(STR_TO_DATE(date_field, '%m/%d/%Y')) <> '0000-00-00';

추신 테이블에는 필드가 아닌 이 포함됩니다. 날짜를 저장하기 위해 문자열 유형을 사용해서는 안되지만 DATE 유형은

 

참조 페이지 https://stackoverflow.com/questions/4259729

 

 

반응형

댓글