오라클 function으로 법인번호 체크 가능한지요.. 0 5 4,967

by 이정수 법인번호 [2012.06.14 10:19:06]


안녕하세요.

업무를 보는중에 고객 조기 경보 및 신용정보로 인해 법인고객에 한해서 정상적인 법인번호 정보를 나이스 및 kcb에 넘겨주어야 하는상황이 있는데요..

최근 데이터들은 상관이 없는데.. 개인사업자였다가 법인으로 바뀐고객들은 법인번호에 대표자 주민번호가 있는 경우들이 많이 있더군요..;;

해당 고객들의 법인번호가 맞는지를 체크해야 할 거 같은데..

오라클 function을 작성하면 대상을 걸러 낼수 있을까요??

어떤식으로 작성을 하면 좋을지 문의 드립니다..

by 마농 [2012.06.14 10:52:05]

가장 간단한 방법은 Length 를 체크하는 거죠.
하이픈(-)까지 저장되어 있다면?
문자열 패턴 검색을 하셔도 되구요. LIKE, REGEXP_LIKE


by 손님 [2012.06.14 11:10:38]

검색해보시면 법인번호 체크 로직이 있습니다만 sql로 된게 있는지는 모르겠네요..
법인번호 유효성 검증은 단순희 length만 체크하시면 안됩니다.
주민등록번호 검증같은 생성 규칙이 있으니까요...

by 마농 [2012.06.14 11:39:16]

아! 법인번호도 주민번호랑 똑같이 6자리-7자리(총13자리) 네요...
자리수 체크로는 안되겠네요. 사업자번호인줄 알았다는...


by 이정수 [2012.06.14 11:48:15]

댓글 감사드립니다.. 찾아보니까 오라클에서 검색하는 방법이 있긴 하네요..
SELECT DECODE(G7, 10 - MOD(G1 + G2 + G3 + G4 + G5 + G6 + G11 + G12 + G13 + G14 + G15 + G16,10), '정상', '비정상') AS 정상여부
  FROM (SELECT SUBSTR(법인번호, 1, 1)  * 1 AS G1
, SUBSTR(법인번호, 2, 1)  * 2 AS G2
, SUBSTR(법인번호, 3, 1)  * 1 AS G3
, SUBSTR(법인번호, 4, 1)  * 2 AS G4
, SUBSTR(법인번호, 5, 1)  * 1 AS G5
, SUBSTR(법인번호, 6, 1)  * 2 AS G6
, SUBSTR(법인번호, 7, 1)  * 1 AS G11
, SUBSTR(법인번호, 8, 1)  * 2 AS G12
, SUBSTR(법인번호, 9, 1)  * 1 AS G13
, SUBSTR(법인번호, 10, 1) * 2 AS G14
, SUBSTR(법인번호, 11, 1) * 1 AS G15
, SUBSTR(법인번호, 12, 1) * 2 AS G16
, SUBSTR(법인번호, 13, 1) * 1 AS G7
 FROM 고객테이블

이렇게 체크 하는게 있네요.. 맞겠죠??ㅎ;;

by 마농 [2012.06.14 12:49:10]

위 소스는 마지막 자리가 0 인 경우 버그가 있는 코드네요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입