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


[SQL 문법]

날짜와 날짜 사이의 개월 수를 출력할 수 있다.

SELECT ename, MONTHS_BETWEEN(sysdate, hiredate)
  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, MONTHS_BETWEEN(sysdate, hiredate)
  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  MONTHS_BETWEEN(SYSDATE,HIREDATE)
0     KING                        494.091505
1    BLAKE                        500.607634
2    CLARK                        500.349569
3    JONES                        501.607634
4   MARTIN                        496.317311
5    ALLEN                        503.285053
6   TURNER                        496.962472
7    JAMES                        493.285053
8     WARD                        502.897956
9     FORD                        493.285053
10   SMITH                        505.349569
11   SCOTT                        480.930214
12   ADAMS                        480.156021
13  MILLER                        492.285053

Leave a comment