Database/Oracle
[오라클] 정규표현식 활용. 숫자 문자열
데브포유
2016. 6. 1. 16:11
반응형
문자열 변수에 담긴 값이 숫자일때만 사용되도록 하기....
ex) no = 숫자 컬럼임
1) 방법1
SELECT NO
FROM TT_TMP
WHERE NO = TO_NUMBER(REGEXP_SUBSTR(:str_no, '^[0-9]+$'))
;
1) 방법2
SELECT NO
FROM TT_TMP
WHERE NO = TO_NUMBER(REGEXP_SUBSTR(:str_no, '^[[:digit:]]+$'))
;
* str_no 값이 숫자이면 문자열 그대로 반환해서 TO_NUMBER로 형변환이 이루어 지지만
값에 문자가 섞여 있으면 NULL를 리턴해서 형변환이 이루어지지 않음.
즉 TO_NUMBER() 함수 호출시 에러가 발생되지 않음.
--- EOF ---
반응형