내 MySQL DB 테이블에 StartDate (varchar 유형)라는 열과 세 개의 개별 정수 열이 있습니다. 일, 월, 년.MySQL - 특정 형식으로 3 개의 열을 하나로 결합
내가 원하는 것은 일, 월 및 연도 값을 결합하여 결과 값을 dd/mm/yy 형식의 StartDate 필드에 삽입하는 것입니다 (예 : 03/07/84
).
너무 어렵지는 않지만 Day와 Month 값의 대부분은 한 자리수만큼 길기 때문에 접두어를 0으로해야합니다 (예 : 1은 01, 9는 09, 11은 변경되지 않음). 주문하여 필요한 시작 날짜 형식을 충족 시키십시오.
다른 문제는 연도 필드입니다. 현재 4 자리 연도가 있으므로 StartDate 형식을 충족하기 위해 처음 2 자리를 삭제해야합니다 (예 : 1984가 84가되고 2001 년이 01이 됨).
누구든지이 작업을 수행하기 위해 필요한 절차를 수행 할 수 있습니까? 필자는 Day, Month 및 Year 열에서 먼저 작업 한 다음 올바른 형식으로 가져 와서 복사 한 다음 StartDate 열에 '/'문자를 추가해야한다고 생각합니다.
모든 도움과 도움을 미리 제공해 주셔서 감사합니다.
UPDATE `my_super_datestable` SET startdate =
date_format(str_to_date(concat_ws(
'/', `day`, `month`, `year`), '%e/%c/%Y'), '%d/%m/%y');
왜 이러는 : –
@MattGibson 두 곳의 데이터를 가지고있는 것이 좋지 않기 때문에 Day, Month 및 Year 열에서 StartDate를 작성한 다음 StartDate를 종료하도록 삭제할 것입니다. StartDate 필드의 내용이 사이트의 프런트 엔드에서 사용되는 방식 때문에 MySQL DATE 형식을 사용하지 않습니다. – tcarnell