[Reference] 초보자를 위한 SQL 200제


[SQL 문법]

문자에서 특정 철자를 다른 철자로 변경할 수 있다.
REGEXP_REPLACE(sal, ‘[0-3]’, *)을 통해 0~3까지의 숫자를 *로 변경할 수도 있다.

SELECT ename, REPLACE(sal, 0, '*')
  FROM emp

[예시]

# 오라클 연동 및 접속
import pandas as pd
import cx_Oracle
dsn=cx_Oracle.makedsn('localhost',1521,'orcl')
db=cx_Oracle.connect('scott','tiger')
cursor=db.cursor()

# SQL 문법
cursor.execute("""
SELECT ename, REPLACE(sal, 0, '*')
  FROM emp
""")

row=cursor.fetchall()
colname=cursor.description
col=[]

for i in colname:
    col.append(i[0])

# pandas를 사용한 데이터 프레임 형식으로 변환
emp=pd.DataFrame(row,columns=col)
print(emp)

[결과]

     ENAME REPLACE(SAL,0,'*')
0     KING               5***
1    BLAKE               285*
2    CLARK               245*
3    JONES               2975
4   MARTIN               125*
5    ALLEN               16**
6   TURNER               15**
7    JAMES                95*
8     WARD               125*
9     FORD               3***
10   SMITH                8**
11   SCOTT               3***
12   ADAMS               11**
13  MILLER               13**

Leave a comment