-
원인 : 에러에서 설명하는 것 그대로 varchar타입에서 datatime form으로 변환할때 값 범위를 벗어났을때 일어나는 문제
예를 들어 '2022-04-31 12:23:11' 4월은 30일까지이기 때문에 에러가 발생 '2022-04-30 12:60:10' 분단위에서 60은 존재하지 않기 때문에 에러가 발생한다.
배경
사내에서 테스트를 진행하던 중 배포되어 있는 솔루션임에도 불구하고 아래와 같은 에러가 발생했다.
여태 한번도 나오지 않던 문제라 찾는데 정말 고생했던 것 같다.
결론은 밤 12시의 시간이 00:00:00으로 표현되는지 24:00:00으로 표현되는지의 문제였다.
아래와 같이 24:00:00으로 표현될 경우 문제가 발생을 했다.
24시가 넘어버리면 00:00:01로 데이터가 올라오지만 정각일 경우에 발생할 수 있는 문제여서 사내 테스트중 발견한게 정말 다행이 아닐 수 없었고, 운이 좋았다.
해결 방법은 DB로 전달하기전 어플리케이션에서 걸러내는 로직을 추가할 예정임
convert 관련 함수에대해 자세히 알고 싶다면 아래를 참고
'CS > DB' 카테고리의 다른 글
댓글