-- 이승열 님이 쓰신 글:
>> cretop_cik의 최대값이 캐릭터로 '00000003' 인데 여기서 1을 더하면
>> 4가 나옵니다...근데 제가 원하는 값은 '00000004' 인데요...
>> 다음 쿼리를 어떤식으로 바꿔야 하는지 궁금하군요...
>> 답변 부탁드립니다..
>>
>> select round((max(cretop_cik) + 1), 0) cretop_cik from cretop_corp
Informix는 자동으로 형 변환을 해주기 때문에 4가 나오는 겁니다.
따라서 강제로 CHAR로 형변환을 해주고 자릿수를 맞춰주는 방법을
쓰면 됩니다.
select LPAD((round((max(cretop_cik) + 1), 0))::CHAR,8,'0')
위에 쓰인 LPAD함수는 (round((max(cretop_cik) + 1), 0))::CHAR의 값에 왼쪽에 '0'을 붙여서 전체가 8자리로 만들겠다는 뜻입니다.
|