본문 바로가기

Dev Story/DB

MSSQL -> Oracle 자주 사용 되는 날짜 시간 변환 편

개발로 먹고 살다 보면 종종 기존에 사용하던 DB를 변경 해야 하는

경우가 발생한다. 

 

보통은 SQL을 직접 작성 한 경우가 많아서 변환되어야 할 DB에 맞게 수정을 해야 한다.

 

자바의 하이버네이트나 파이썬의 ORM 같은 서드파티를 사용하면

변환할 DB가 호환이 되서 돌아 가겠지만

 

우리의 "레거시 시스템" 들은 이런저런 이유로 인해 전통기술을 사용해야 한다.

요즘 드는 생각은 이런 일거리도 생겨야 누군가는 일을 더 하지 않겠는가...

 

예전에 Oracle -> MariaDB로 변환한 적이 있었는데 

이번엔 MSSQL-> Oracle로 변환하는 프로젝트에 금방 익숙해졌던것 같다

 

하면서 정리해두었던 날짜, 시간 변환을 몇가지 기록 해둘가 한다.

 

 

MSSQL Oracle 결과
 CONVERT(CHAR(18), GETDATE(), 121)  TO_CHAR(SYSDATE,'YYYYMMDD HH24:MI:SS') 2020-02-20 23:15:00
CONVERT(CHAR(8), DATETIME, 112)
TO_CHAR(SYSDATE,'YYYYMMDD') 20200220
CONVERT(CHAR(8), GETDATE(), 108) TO_CHAR(SYSDATE,'YYYYMMDD') 23:15:00

 

 

자주 사용하는 표현 3가지를 알아 봤다. MSSQL 이나 MariaDB(Mysql) 같은 경우에는 데이트를 문자 변환 

할경우 숫자를 입력 하는 가 반면에 오라클 같은 경우는 문자 서식을 입력 한다.

 

숫자 보단 문자 가 더 기억에 오래 남기 때문에 이런 부분은 오라클에 한표를 들어 주고 싶다.

 

SQL 작성을 한동안 안하게 되면 숫자를 기억하지 못해서 매번 검색을 해야 하는 수고스러움이 있다. --;