MSSQL 에러중 날짜형으로 변경할수 없다라는 에러가 나오면
우리는 보통 VARCHAR타입 데이터를 DATETIME 컬럼에 넣으려고 했을때 발생한다.
이때!!
단순히 CONVERT(DATETIME, #{날짜문자열})
이런식으로 변환하면 되지 않는다.
날짜형을 넣어줄때는 문자열 형식이 일치해야하기 때문이다.
따라서
CONVERT(DATETIME, LEFT(#{ACD_DATE},4)+'-'+ SUBSTRING(#{ACD_DATE},5,2)+'-'+SUBSTRING(#{ACD_DATE},7,2)+' '+SUBSTRING(#{ACD_DATE},9,2)+':'+SUBSTRING(#{ACD_DATE},11,2)) /*사고일시*/
이렇게 하거나
CONVERT(DATETIME, CONCAT(#{ACD_YMD}, ' ', #{ACD_HH}, ':', #{ACD_MM}), 120) /*사고일시*/
이렇게 처리해야한다.