본문 바로가기
통계프로그램 비교 시리즈/오라클함수 비교(R & Python)

ADD_MONTHS Oracle Function [Oracle, Pandas, R Prog, Dplyr, Sqldf, Pandasql, Data.Table]

by 기서무나구물 2021. 11. 19.

포스팅 목차

    * 파이썬 & R 패키지 호출 및 예제 데이터 생성 링크


    [ ADD_MONTHS 함수]

     


    ADD_MONTHS함수는 일자 date에 특정 개월 수 integer를 더한 값을 반환한다.

     

     


    1. Oracle(오라클)

    • Display the date three months before the current date
    Oracle Programming
    select add_months(sysdate,-3) add_months
    from   dual

     

    Results
    ADD_MONTHS
    19-AUG-21

     


    2. Python Pandas(파이썬)

    • 현재 날짜 반환-1
    Python Programming
    from datetime import datetime
    from dateutil.relativedelta import relativedelta
    
    print( datetime.today()+ relativedelta(months=3) )
    
    datetime.now().date() + relativedelta(months=+3)

     

    Results
    2021-03-17 21:13:27.016909
    
    datetime.date(2021, 3, 17)

     

    • 현재 날짜 반환-2
    Python Programming
    import calendar
    from datetime import datetime,timedelta
    
    print (datetime.now().date() + timedelta(3*30))

     

    Results
    2021-03-17

     


    3. R Programming (R Package)

     

    • 현재 날짜 반환-1
    R Programming
    %%R
    
    Sys.Date()+months(3)

     

    Results
    [1] "2021-03-17"

     

    • 현재 날짜 반환-2
    R Programming
    %%R
    
    Sys.Date()+as.difftime(90,units="days")

     

    Results
    [1] "2021-03-17"

     

    • 현재 날짜 반환-3
    R Programming
    %%R
    
    seq(Sys.Date()-1, by = "month", length.out = 4)[4]

     

    Results
    [1] "2021-03-16"

     


    4. R Dplyr Package

     


    5. R sqldf Package

     

    • 현재 날짜 반환-1
    R Programming
    %%R
    
    sqldf("select date('now','start of month','+1 month','-1 day') ,
                  date('now','+3 month')")

     

    Results
      date('now','start of month','+1 month','-1 day') date('now','+3 month')
    1                                       2020-12-31             2021-03-17

     


    6. Python pandasql Package

     

    • 현재 날짜 반환-1
    Python Programming
    ps.sqldf("select date('now','start of month','+1 month','-1 day') ,date('now','+3 month') ")

     

    Results
    	date('now','start of month','+1 month','-1 day')	date('now','+3 month')
    0	2020-12-31							2021-03-17

     


    7. R data.table Package

     


    8. Python Duckdb의 SQL

     

    Python Programming
    %%sql
      select CURRENT_DATE now_date_1,
             today()      now_date_2,
             CURRENT_DATE + INTERVAL 3 month  add_months

     

    Python Programming
    duckdb.sql(" select CURRENT_DATE now_date_1,        \
                        today()      now_date_2,        \
                        CURRENT_DATE + INTERVAL 3 month  add_months").df()

     

    Results
      now_date_1 now_date_2 add_months
    0 2023-08-10 2023-08-10 2023-11-10

     


     

    [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 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 링크

     

    반응형

    댓글