OKJSP 에서 어떤분의 질문에 답글 단 내용
요새 DB를 건드리는 작업이 줄어들어서 미천하던 지식이나마 다 가물가물해져간다
IS_NUMBER 같은 함수가 있지 않았던가? 해서 찾았지만 그런건 없음
방법1. function 을 작성해서 사용
방법2. TRIM(TRANSLATE(A, '0123456789', ' ')) IS NULL 구문의 이용
// varchar, char 타입의 데이터중 숫자인 데이터는 앞의 0을 제거해서 출력
WITH TB AS (
SELECT '0000' A FROM DUAL UNION ALL
SELECT '0001' A FROM DUAL UNION ALL
SELECT '0011' A FROM DUAL UNION ALL
SELECT '1111' A FROM DUAL UNION ALL
SELECT '1001' A FROM DUAL UNION ALL
SELECT 'A111' A FROM DUAL
)
SELECT
CASE WHEN TRIM(TRANSLATE(A, '0123456789', ' ')) IS NULL
THEN TO_CHAR(TO_NUMBER(A))
ELSE A
END
FROM TB