반응형
일부는 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
반응형
'MySql' 카테고리의 다른 글
MySQL mysql 데이터베이스에 html을 저장하는 방법 (0) | 2020.10.27 |
---|---|
MySQL Laravel Sum 열 데이터베이스 Eloquent (0) | 2020.10.27 |
MySQL CodeIgniter 애플리케이션을 어떻게 디버깅합니까? (0) | 2020.10.27 |
MySQL 하나의 값을 기준으로 항목을 제외하는 SQL 쿼리 (0) | 2020.10.27 |
MySQL Laravel에서 여러 이미지를 업로드하는 방법 (0) | 2020.10.27 |
댓글