max값이 10일경우 발생 되는 문제로 to_number(컬럼)+1로 해도 값이 11이 아니라 10으로 나옵니다..
해당 컬럼은 varchar2(2)입니다... 원인이 몰까요?!
by 마농
[2018.11.07 16:16:14]
문자라서 그래요
숫자 10 은 숫자 9 보타 크지만
문자 '10' 은 문자 '9' 보다 작죠.
맨 앞에 '1' 이 '9' 보다 작기 때문이죠.
처음부터 숫자로 만들던가?
문자로 사용하려면 자리수를 고정으로 채웠어야죠. '01', '02'
MAX(TO_NUMBER(컬럼)) + 1 하면 값은 나오지만, 성능상 좋지 않습니다.
숫자 또는 고정자리 사용 권장합니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.