본문 바로가기

DATABASE/Oracle

[oracle]DBMS별 TO_CHAR

출처 : ORACLE의 TO_CHAR 함수를 MSSQL의 CONVERT 함수로


※ ORACLE에서 날짜를 처리할때는 
TO_CHAR(SYSDATE,'YYYY-MM-DD') -> 2003-01-23
TO_CHAR(SYSDATE,'YYYY/MM/DD') -> 2003/01/23
TO_CHAR(SYSDATE,'YYYYMMDD') -> 20030123

※ 반대로 처리할때는 TO_DATE함수를 사용하면 되죠~

※ ORACLE에서 숫자를 처리할때는 
TO_CHAR(2500000,'L9,999,999') -> w2,500,000 
TO_CHAR(2500000,'9,999,999.99') -> 2,500,000.00

※ 반대로 처리할때는 TO_NUMBER함수를 사용하면 되죠~
※ 이 외에도 활용할 수있는 용도가 무지 많습니다.

※ MSSQL에서 날짜를 처리할때는
CONVERT(VARCHAR(10),GETDATE(),120) -> 2003-01-23
CONVERT(VARCHAR(10),GETDATE(),111) -> 2003/01/23
CONVERT(VARCHAR(8),GETDATE(),112) -> 20030123

※ MSSQL에서 숫자를 처리할때는
CONVERT(varchar(20),   convert(money,2500000),1) -> 2,500,000.00



출처 : 
DBMS별 날짜 포맷변환

1. DBMS 별 시간, 날짜 조회 쿼리

Oracle

select sysdate from dual;  날짜+시분초 까지 조회가능 
select current_timestamp from dual;  날짜+밀리초+시간존 까지 조회

MS SQL

select getdate()    날짜 + 밀리초 단위까지 조회가능

DB2 UDB

select current timestamp from sysibm.sysdummy1  날짜+밀리초까지 조회select current date from sysibm.sysdummy1  날짜만 조회
select current time from sysibm.sysdummy1  밀리초 단위시간조회



2. DBMS 별 default date format

Oracle      

YY/MM/DD  (한글)
DD-MON-YYYY  (영어)

MS SQL

YYY/MM/DD HH:MI:SS   (한글)
MM-DD-YYYY HH:MI:SS   (영어)

DB2 UDB

YYYY-MM-DD-HH:MI:SS.MMMMMM (TIMESTAMP 타입)
YYYY-MM-DD (DATE 타입)
HH:MI:SS.MMMMMM (TIME 타입)



3. 날짜 포맷 변환표


형식

 

RDBMS

변환 문법

'YYYY.MM.DD'

Oracle


TO_CHAR(date_exp, 'YYYY.MM.DD')

 

MSSQL


CONVERT(VARCHAR, date_exp, 102)

 

DB2


REPLACE(CHAR(DATE(date_exp),ISO), '-', '.')

 

 'HH:MI:SS'

Oracle


TO_CHAR(date_exp, 'HH:MI:SS')

 


MSSQL

 

CONVERT(VARCHAR, date_exp, 108)


DB2

 

CHAR(TIME(date_exp) , JIS )

 'YYYY/MM/DD'


Oracle

 

TO_CHAR(date_exp, 'YYYY/MM/DD')


MSSQL

 

CONVERT(VARCHAR, date_exp, 111)


DB2

 

REPLACE(CHAR(DATE(date_exp), ISO), '-', '/')

 'YYYYMMDD'


Oracle

 

TO_CHAR(date_exp, 'YYYYMMDD')


MSSQL

 

CONVERT(VARCHAR, date_exp, 112)


DB2

 

CHAR(DATE(date_exp))

 'HH24:MI:SS'


Oracle

 

TO_CHAR(date_exp, 'HH24:MI:SS')


MSSQL

 

CONVERT(VARCHAR(8), date_exp, 114)


DB2

 

CHAR(TIME(date_exp) )

 'YYYY.MM.DD HH24:MI'


Oracle

 

TO_CHAR(date_exp, 'YYYY.MM.DD HH24:MI')


MSSQL

 

CONVERT(VARCHAR, date_exp, 102) + ' ' + CONVERT(VARCHAR(5), date_exp, 114)


DB2

 

REPLACE(CHAR(DATE(date_exp), ISO), '-', '.') || CAST( TIME(date_exp) AS CHAR(5))

 'YYYY/MM/DD HH24:MI:SS'


Oracle

 

TO_CHAR(date_exp, 'YYYY/MM/DD HH24:MI:SS')


MSSQL

 

CONVERT(VARCHAR, date_exp, 111) + ' ' + CONVERT(VARCHAR(8), date_exp, 114)


DB2

 

REPLACE(CHAR(DATE(date_exp), ISO), '-', '/') || CAST( TIME(date_exp))



'DATABASE > Oracle' 카테고리의 다른 글

[오라클] DB LINK 사용  (0) 2014.08.04
[오라클] INSERT INTO ~ SELECT  (0) 2014.07.04
[오라클] 테이블 복사  (0) 2014.07.04
[오라클] exp & imp  (0) 2014.06.29
[오라클] 세션 확인 & 킬  (0) 2014.06.29