[오라클] LPAD, RPAD 함수 간단한 사용 방법

|
반응형

LPAD, RPAD 간단한 예제를 통한 사용 방법

 

작업 환경
OS: Oracle Linux 8.9
DB: Oracle 19c

 

LPAD, RPAD는 데이터 출력할 때 특정 부분에 데이터를 채워 넣거나 민감한 데이터 일부만 보여줄 때 많이 사용합니다.
- LPAD는 데이터의 앞부분에 원하는 데이터를 넣을 때 사용
- 상품 코드 01, 2, 3 데이터가 있을때 01, 02, 03으로 변경이 필요하다면 LPAD 함수를 사용합니다.
- RPAD는 데이터의 뒷부분에 원하는 데이터를 넣을 때 사용
- 고객번호 01231234가 있을 때 뒷 부분 1234를 *로 변경처리할때 사용하기 편리합니다.

 

 

샘플 데이터 SQL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
SELECT    
    PRD_NM,    
    AMT,    
    PRD_CD,    
    CUST_NO
FROM (        
        SELECT             
            '콜라' AS "PRD_NM",            
            '1000' AS "AMT",            
            '01' AS "PRD_CD",            
            '01231234' AS "CUST_NO"        
        FROM DUAL        
        UNION ALL        
        SELECT '환타''800''2''04561280' FROM DUAL        
        UNION ALL        
        SELECT '맥콜''800''3''02341281' FROM DUAL      
);
 
PRD_NM     AMT        PRD_CD       CUST_NO   
---------- ---------- ------------ ----------
콜라        1000         01         01231234  
환타         800          2         04561280  
맥콜         800          3         02341281  
 
cs

 



LPAD 함수 사용 방법
- PRD_CD 데이터 01, 1, 2 --> 01, 01, 02 변경
- LPAD(PRD_CD, 2, 0)  --> 2는 두자리, 0은 채워지는 숫자

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
SELECT    
    PRD_NM,    
    AMT,    
    LPAD(PRD_CD, 20) AS "PRD_CD"
    CUST_NO
FROM (        
        SELECT             
            '콜라' AS "PRD_NM",            
            '1000' AS "AMT",            
            '01' AS "PRD_CD",            
            '01231234' AS "CUST_NO"        
        FROM DUAL        
        UNION ALL        
        SELECT '환타''800''2''04561280' FROM DUAL        
        UNION ALL        
        SELECT '맥콜''800''3''02341281' FROM DUAL      
);
 
PRD_NM     AMT        PRD_CD       CUST_NO   
---------- ---------- ------------ ----------
콜라        1000         01         01231234  
환타         800         02         04561280  
맥콜         800         03         02341281  
 
cs

 



RPAD 함수 사용 방법
- CUST_NO(고객번호) 뒷자리 4개 *로 변경 처리
- RPAD(SUBSTR(CUST_NO,1,4), 8, '*')   
- SUBSTR(CUST_NO,1,4)  SUBSTR 함수를 이용하여 데이터 앞자리 4개만 출력한다.
- 숫자 8은 CUST_NO 컬럼의 총 길이
- 뒷자리 4개는 '*'로 채운다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
SELECT    
    PRD_NM,    
    AMT,    
    LPAD(PRD_CD, 20) AS "PRD_CD"
    RPAD(SUBSTR(CUST_NO,1,4), 8'*') AS "CUST_NO"
FROM (        
        SELECT             
            '콜라' AS "PRD_NM",            
            '1000' AS "AMT",            
            '01' AS "PRD_CD",            
            '01231234' AS "CUST_NO"        
        FROM DUAL        
        UNION ALL        
        SELECT '환타''800''2''04561280' FROM DUAL        
        UNION ALL        
        SELECT '맥콜''800''3''02341281' FROM DUAL      
);
 
PRD_NM     AMT        PRD_CD       CUST_NO   
---------- ---------- ------------ ----------
콜라        1000         01         0123****  
환타         800         02         0456****  
맥콜         800         03         0234****  
 
cs
반응형
And
prev | 1 | 2 | 3 | 4 | ··· | 37 | next