오라클 문자컬럼에서 숫자타입이 아닌 문자가 존재하는 컬럼 구하기
프로젝트 진행 중에 VARCHAR2 컬럼에 숫자값을 입력하는 경우가 존재하는데 숫자가 아닌 문자가 들어간 DATA를 걸러내야 할 때가 있다. 다음과 같이 하면 양수의 숫자만 들어간 컬럼만 찾아낼 수 있다.
오라클 함수중에 REGEXP_INSTR(...)이 있는데 정규식을 이용해서 해당 컬럼의 원하는 정규식 pattern의 자리수를 얻어오는 것이다.
SELECT COL FROM (
SELECT '12.0' AS COL FROM DUAL
UNION ALL SELECT '52/0' FROM DUAL
UNION ALL SELECT '52U0' FROM DUAL
UNION ALL SELECT '%2U0' FROM DUAL
) T
WHERE REGEXP_INSTR(T.COL , '[^{.1234567890}]') <= 0
수행 결과는 다음과 같다.
COL
----
12.0
'Programming > Database' 카테고리의 다른 글
| 사용하고 있는 오라클 시스템의 버젼을 확인 하는 방법 (0) | 2011/01/18 |
|---|---|
| 오라클 문자컬럼에서 숫자타입이 아닌 문자가 존재하는 컬럼 구하기 (0) | 2010/10/14 |
| ORA-01009:필수 매개변수가 없습니다. (2) | 2010/10/11 |
| 오라클 사용자 예외처리 사용 방법 (0) | 2010/08/23 |
This is an example of a WordPress page, you could edit this to put information about yourself or your site so readers know where you are coming from.
CSS