포스팅 목차
* 파이썬 & R 패키지 호출 및 예제 데이터 생성 링크
[ RPAD Oracle Function ]
RPAD 함수는 인수 expr1의 오른쪽으로 인수 expr2를 지정한 문자의 길이 n 만큼 반복하여 붙여준다. 이 함수는 쿼리의 출력 포맷을 맞추는데 도움이 된다.
- 함수 설명 : RPAD 오라클 함수 링크
1. Oracle(오라클)
RPAD() 함수
‘-=’를 10번 복사하여 ‘RPAD’ 오른편에 붙여서 반환한다.
Oracle Programming |
SELECT RPAD('RPAD', 10, '-=') RPAD_FUNC
FROM DUAL;
Results |
RPAD_FUNC
----------
RPAD-=-=-=
2. Python Pandas(파이썬)
format()
‘RPAD’ 문자열 왼쪽 편으로 문자(“*”)를 반복하여 채워서 전체 길이를 10이 되도록 출력한다. ‘RPAD’의 길이가 4이므로 6만큼 ‘*’ 문자를 채운다.
Python Programming |
'{message:{fill}{align}{width}}'.format(message='RPAD',fill='*',align='>',width=10,) # 기준 문자열 왼쪽으로 채운다.
Results |
'******RPAD'
format()
Python Programming |
'{message:{fill}{align}{width}}'.format(message='RPAD',fill='*',align='<',width=10,) # 기준 문자열 오른쪽으로 채운다.
Results |
'RPAD******'
format()
Python Programming |
# 기준 문자열 왼쪽으로 채운다
'{:*>10}'.format('RPAD')
Results |
'******RPAD'
format()
Python Programming |
# 기준 문자열 오른쪽으로 채운다.
'{:*<30}'.format('LPAD')
Results |
'LPAD**************************'
format()
Python Programming |
# 기준 문자열 왼쪽으로 공백 문자를 채운다.
'{:>30}'.format('RPAD')
Results |
' RPAD'
format()
Python Programming |
# 가운데 정렬을 한다.
'{:^30}'.format('CENTER')
Results |
' CENTER '
format()
숫자 1의 왼쪽 편에 0으로 반복적으로 채워서 전체 길이가 5가 출력한다.
Python Programming |
"{:05d}".format(1)
Results |
'00001'
rjust()
문자열 ‘RPAD’의 왼쪽 편에 ‘-‘ 문자를 반복적으로 채워서 전체 길이가 15가 되도록 출력한다.
Python Programming |
'RPAD'.rjust(10, '-')
Results |
'------RPAD'
zfill()
숫자 4의 왼쪽편에 0으로 반복적으로 채워서 전체 길이가 3이 되도록 출력한다.
Python Programming |
'4'.zfill(3)
Results |
'004'
3. R Programming (R Package)
stringr::str_pad()
‘RPAD’ 문자열 왼쪽 편으로 문자(“*”)를 반복하여 채워서 전체 길이를 10이 되도록 출력한다. ‘RPAD’의 길이가 4이므로 6만큼 ‘*’ 문자를 채운다.
R Programming |
%%R
stringr::str_pad(string = "RPAD" , width = 10 , side = "left" , pad = "*")
Results |
[1] "******RPAD"
stringi::stri_pad_left()
R Programming |
%%R
stringi::stri_pad_left("RPAD" , width = 10 , pad = "*")
Results |
[1] "******RPAD"
stringr::str_replace_all()
R Programming |
%%R
stringr::str_replace_all(sprintf('%10s','RPAD'),' ','*')
Results |
[1] "******RPAD"
format()
R Programming |
%%R
formatC(12, width=10 ,format='d', flag="0")
Results |
[1] "0000000012"
sprintf()
R Programming |
%%R
sprintf("%-6s","BAD")
Results |
[1] "BAD "
4. R Dplyr Package
5. R sqldf Package
‘RPAD’ 문자열 왼쪽 편으로 문자(“*”)를 반복하여 채워서 전체 길이를 10이 되도록 출력한다. ‘RPAD’의 길이가 4이므로 6만큼 ‘*’ 문자를 채운다.
R Programming |
%%R
library(sqldf)
substr()
R Programming |
%%R
sqldf(" SELECT substr('**********'||'RPAD' ,-10,10) as num_pad ")
Results |
num_pad
1 ******RPAD
printf()
R Programming |
%%R
sqldf(" SELECT replace(printf('%10s','RPAD'),' ','*') as num_pad ")
Results |
num_pad
1 ******RPAD
substr()
R Programming |
%%R
sqldf(" SELECT substr(12||'00000000',1,8) as num_pad ")
Results |
num_pad
1 12000000
[참고] 대략적으로 구현(9글자는 문제)
R Programming |
%%R
sqldf(" SELECT REPLACE(printf('%-10s','LPAD'),' ','*') ")
Results |
REPLACE(printf('%-10s','LPAD'),' ','*')
1 LPAD******
substr()
R Programming |
%%R
sqldf(" SELECT substr('LPAD'||'**********' ,1,10) as num_pad ")
Results |
num_pad
1 LPAD******
6. Python pandasql Package
7. R data.table Package
8. Python Duckdb의 SQL
RPAD() 함수
Python Programming |
%%sql
SELECT RPAD('RPAD', 10, '-=') as str_rpad
Python Programming |
duckdb.sql(" SELECT RPAD('RPAD', 10, '-=') as str_rpad ").df()
Results |
str_rpad
0 RPAD-=-=-=
--------------------------------------------
[Oracle, Pandas, R Prog, Dplyr, Sqldf, Pandasql, Data.Table] 오라클 함수와 R & Python 비교 사전 목록 링크 |
오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크 |
[SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 링크 |
반응형
댓글