Oracle 규칙이 있는 데이터를 만들어보자(LPAD, CASE WHEN)

2022. 1. 7. 15:20개발/Oracle

LPAD(변수, 총 문자 길이, 채울 숫자)

CASE WHEN 조건 THEN 리턴 값

            WHEN 조건 THEN 리턴 값

            ELSE 리턴 값 END;

 

1단계 : SELECT LEVEL GRD FROM DUAL CONNECT BY LEVEL <= 10;

 

2단계 : SELECT LPAD(GRD, 2, '0') FROM (SELECT LEVEL GRD FROM DUAL CONNECT BY LEVEL <= 10);

 

3단계 : SELECT LPAD(GRD, 2, '0'),

1000000 * GRD + CASE GRD WHEN 1 THEN 0 ELSE 1 END,

CASE GRD WHEN 10 THEN 99999999 ELSE 1000000 * GRD ELD

FROM (SELECT LEVEL GRD FROM DUAL CONNECT BY LEVEL <= 10);

 

완성

INSERT INTO SALARY(GRD, MIN, MAX)

SELECT LPAD(GRD, 2, '0'),

1000000 * GRD + CASE GRD WHEN 1 THEN 0 ELSE 1 END,

CASE GRD WHEN 10 THEN 99999999 ELSE 1000000 * (GRD + 1) END

FROM (SELECT LEVEL GRD FROM DUAL CONNECT BY LEVEL <= 10);