저는 MySQL을 사용하고 있으며 데이터베이스에 잘못 입력 된 날짜 열이 있습니다. 보다 구체적으로, dd/mm/yy로 입력되었지만 MySQL은 yyyy/mm/dd 형식으로 가정합니다. 이 문제를 해결하기 위해 다음 코드를 만들었지 만 첫 번째 줄의 하위 쿼리가 두 개 이상의 행을 반환한다는 오류가 있습니다. 모든 행에서이 작업을 수행하려면 어떻게합니까? 루프가 필요한가요?SQL : 모든 행에 대해 동일한 작업 수행
SET @raw_date = (SELECT j.a_date FROM tbl_job j);
SET @first = SPLIT_STR(@raw_date, '-', 1);
SET @second = SPLIT_STR(@raw_date, '-', 2);
SET @third = SPLIT_STR(@raw_date, '-', 3);
SET @first = (SELECT RIGHT(@first, 2));
SET @job_date = CONCAT(@third,'-',@second,'-',@first);
UPDATE tbl_job
SET tbl_job.a_date = @job_date;
은 열은 어떤 유형입니까? – Mihai
날짜 유형입니다. 값은 처음에는 문자열로 입력되었고 MySQL은 제 질문에서 언급 한 것처럼 역으로 해석했습니다. –
만약 내가 틀렸어도 날짜 필드는 ymd로만 날짜를 저장합니다.하지만 원하는 날짜를 검색 할 수는 있습니다. 날짜를 입력하십시오 (date_field, '% d/% m/% Y') http : //www.w3schools. com/sql/func_date_format.asp – Mihai