본문 바로가기
오라클 게시판/오라클(Oracle)

[오라클 TIP] 날짜 유효성 체크 - VALIDATE_CONVERSION 함수

by 기서무나구물 2022. 5. 26.

포스팅 목차

    [오라클 TIP] 날짜 유효성 체크 - VALIDATE_CONVERSION 함수

     

    주민번호를 통한 연령 계산 시 주민번호 오류 등으로 인하여 날짜 타입 변환하는 경우 에러가 발생하는 경우가 종종 발생.

     

    VALIDATE_CONVERSION 함수를 통하여 날짜 유효성 체크를 통하여 오류건에 대하여 분기 처리가 가능함.

     

    이를 통하여 연령 계산 시 사용 가능 할 듯 합니다. 다만 로직 체크에 따라 속도는 문제가 될 수 있을 듯 합니다.

    SELECT VALIDATE_CONVERSION( CASE WHEN SUBSTR(A.주민번호,7,1) IN ('1','2','5','6') THEN '19'||SUBSTR(A.주민번호,1,6)
                                     WHEN SUBSTR(A.주민번호,7,1) IN ('3','4','7','8') THEN '20'||SUBSTR(A.주민번호,1,6)
                                     WHEN SUBSTR(A.주민번호,7,1) IN ('9','0')         THEN '18'||SUBSTR(A.주민번호,1,6)
                                END AS DATE, 'YYYYMMDD') 생년월일유효성,
                                
           CASE WHEN SUBSTR(A.주민번호,7,1) IN ('1','2','5','6') THEN '19'||SUBSTR(A.주민번호,1,6)
                WHEN SUBSTR(A.주민번호,7,1) IN ('3','4','7','8') THEN '20'||SUBSTR(A.주민번호,1,6)
                WHEN SUBSTR(A.주민번호,7,1) IN ('9','0')         THEN '18'||SUBSTR(A.주민번호,1,6)
           END 생년월일,     
           A.주민번호,
           A.*
    FROM   BACK A
    WHERE  1=1
      AND  INPUT_DT >='20200101'

     

     

     

     

    [오라클 SQL 함수] VALIDATE_CONVERSION 함수

    오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크 o VALIDATE_CONVERSION | 문법 validate_conversion::= | 목적 VALIDATE_CONVERSION 함수는 expr 인수가 지정된 데이터 형식으로 변환될 수 있는지 여부..

    statwith.tistory.com

     

    반응형

    댓글