회사 ERP 모듈 중에 요청된 날짜를 기준 해당 연도의 모든 직원들의 연차 사용 이력을 조회 하는것이 있다.
ERP 기본 프로시져인지 아님 커스터마이징한 프로시져인지는 모르겠지만.
입사일을 varchar(8) "20180101" 로 입력을 받고 조회시는 문자열을 날짜형으로 형변환해서 조회를 한다.
잘 사용하던 모듈이 문자열을 날짜형으로 변환할 수 없다는 오류를 내뱉는다.
이래 저래 확인 해보니 입사일 데이터 중 하나가 "2018010" 으로 마지막 숫자가 빠진 7자리가 입력되었다.
물론 인사팀은 모르쇠로 기억이 없다고 하지만 말이다.
그리고 이런 생각이 들었다.
약속된 형식의 데이터는 입력되어야 하지만,
과연, 저 상황에서 substr 으로 해결 가능한 것을 굳이 형변환을 해야하는지?
그리고 왜 입사일 데이터형을 문자열로 했는지?
뭐. 지금 의문을 가져 본 들 의미 없겠지만 타산지석으로 삼아야지.
'Database' 카테고리의 다른 글
[MySQL] 두 개의 테이블간에 업데이트 하기 (0) | 2018.11.07 |
---|---|
[MySQL] 특정 row(행)만 백업하기 (0) | 2018.04.27 |
MSSQL datetime 자료형을 string으로 형변환 (0) | 2017.11.15 |
mysql 복구 (0) | 2016.06.14 |
Mysql 에서 HTML 태그 삭제 함수(strip_tags) (0) | 2015.03.12 |