Infra/DataBase

[Oracle] 시간 가져오기

감마 2009. 10. 12. 12:27
오라클 시간
sysdate 는 오라클에서 주어지는 현재시간에 대한 데이터입니다.

오라클에서 현재시간을 가져올 때, 다음과 같이 씁니다.

SELECT sysdate FROM dual; 
---> 20041111

SELECT to_char(sysdate, 'yyyymmdd hh24:mi:ss') FROM dual;
----> 20041111 09:11:39

sysdate 는 자료형이 date 이기 때문에 형변환을 해줘야 문자열로 받을 수 있습니다.

출력형태에 대한 응용으로 다음과 같이하면 '-'를 포함해 출력합니다.

SELECT to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') FROM dual;
----> 2004-11-11 09:11:14

따라서 출력형태의 지정에 따라 여러가지 형태로 표현가능합니다.
SELECT to_char(sysdate, 'mmdd') FROM dual;
----> 1111

이렇게 날짜만, 혹은 년도만,,,원하는 대로 출력할 수 있습니다.

* 참고로 초단위 이하까지 가져오려면 다음과 같이 합니다.

select to_char(systimestamp,'yyyymmdd hh24:mi:ssxff') from dual;

그러나 이 기능은 일반 date 형으로는 가져올 수가 없으며, 데이터 타입을 timestamp 로 하면 사용할 수가 있습니다.