웹개발 관련
[ORACLE] to_number . 문자를 숫자로 변경
mn-log
2017. 3. 23. 17:39
반응형
닉네임 끝에 숫자가 순차적으로 올라가는 프로그램을 만들고있었음
닉네임 끝의 숫자를 잘라서 가장 높은 숫자를 뽑아내는건데
닉네임이 문자열이라 아래와 같이 닉네임 앞에 고정 글자를 자르고 숫자를 정렬하면 제대로 정렬되지않음.
SELECT NVL(MAX(num),'0') AS num
FROM
(SELECT SUBSTR(num,7) AS num
FROM
(SELECT nickname AS num
FROM user
WHERE nickname LIKE 'guest%'
ORDER BY nickname DESC
)
WHERE ROWNUM = 1
);
그래서 숫자로 바꾸고 최대 값을 찾음
SELECT NVL(MAX(TO_number(num)),'0') AS num
FROM
(SELECT SUBSTR(nickname,7) AS num
FROM
(SELECT nickname
FROM user
WHERE nickname LIKE 'guest%'
)
);
반응형