안녕하세요. 질문이 있는데요.
아래처럼 VERSION 필드가 CHAR 타입입니다.
VERSION 필드에 값이 R1 2024.01.01 이런식으로 되어있는데 R로 시작되는 값중에 MAX값을 구하고 싶습니다.
R10 이 넘어가는 순간 아래 쿼리로 MAX를 구하면 R10 이 MAX로 되지 않고 R9가 맥스로 잡힙니다.
이부분을 해결할 수 있는 방법이 있을까요..?
SELECT MAX( VERSION ) INTO G_VERS
FROM TABLE1
WHERE VERSION LIKE 'R%'.
CHAR 타입의 경우 앞에서부터 하나씩 비교합니다.
R10, R9의 경우 '10'과 '9'가 아닌 '1'과 '9'가 비교되어 R9가 R10보다 큰 값이 됩니다..
이를 해결하기위해서 R1 R2 R3 대신 R01 R02 R03 이런 식으로 데이터를 저장하면 MAX를 불러올 경우 R10을 제대로 불러올 수 있습니다.