오라클

오라클 쿼리로 사업자번호 유효성 검사

사라링 2013. 9. 25. 14:55

주민번호는 많은데 .. 사업자 번호는 없어서. 만들어봄.. 


SELECT * FROM (

SELECT B.* ,DECODE(CHKSUM,0,DECODE(CHKSUM,B.B1,'Y','N'),DECODE(10-CHKSUM,B.B1,'Y','N')) AS CHK_YN  FROM 

 (SELECT A.* ,  MOD( A1*1+A2*3+A3*7+A4*1+A5*3+A6*7+A7*1+A8*3+A9*5+TRUNC((A9*5)/10,0) ,10)  AS CHKSUM

    FROM(

    SELECT  사업자번호

            ,SUBSTR(사업자번호 , 1, 1) A1

            ,SUBSTR(사업자번호 , 2, 1) A2

            ,SUBSTR(사업자번호 , 3, 1) A3

            ,SUBSTR(사업자번호 , 4, 1) A4

            ,SUBSTR(사업자번호 , 5, 1) A5

            ,SUBSTR(사업자번호 , 6, 1) A6

            ,SUBSTR(사업자번호 , 7, 1) A7

            ,SUBSTR(사업자번호 , 8, 1) A8

            ,SUBSTR(사업자번호 , 9, 1) A9

            ,SUBSTR(사업자번호 , 10, 1) B1  --유효성 체크자리 

    FROM    TMP_A_거래선

    )A) B)

   WHERE CHK_YN = 'N'


--  TMP_A_거래선 : 테이블 이름

     사업자번호 : 컬럼이름