티스토리 뷰

반응형

문자열 변수에 담긴 값이 숫자일때만 사용되도록 하기....


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 ---

반응형