728x90
반응형

오라클 Date형식의 값을 가져올 경우, 

Resultset을 사용해서 가져오면 rs.getDate("키값")를 사용해서 간단하게 사용할 수 있지만


부득이하게 Object 형식으로 가져올수밖에 없는 상황이 생길 경우 용도에 맞게 형변환을

해야하는 문제가 생긴다.

오라클의 Date형식의 데이터를 가져와서 Object.toString()을 사용해서 출력하면 

데이터는 "2011-08-22 12:09:36.0"을 출력하게 된다. 

이런 출력은 java.sql.Timestamp형식의 데이터로 Object -> Timestamp 로 형변환 할수가 있다.


Map row =  getData...;

Object obj = row.get("BBS_REGDATE");

 

java.sql.Timestamp ts = Timestamp.valueOf(obj.toString());

java.sql.Date regDate = new Date(ts.getTime());


또한 위의 방법으로 Timestamp 형식의 데이터는 다시 java.sql.Date형식으로 값을 변환 할 수 있다.


단, java.util.Date 와 java.sql.Date는 다른 형식이니 주의해야한다.

java.util.Date를 java.sql.Date 형식으로 변환하기 위해서는

 


Calendar cal = Calendar.getInstance(); java.util.Date uDate = cal.getTime(); java.sql.Date sDate = new java.sql.Date(uDate.getTime()); System.out.println(uDate.toString()); System.out.println(sDate.toString());


결과 :

uDate : Tue Aug 23 18:29:01 KST 2011

sDate : 2011-08-23


위의 방법을 사용하면 된다.

위의 결과에서 보여지는 내용처럼, java.util.Date는 날짜와 시간 데이터를 모두 가지고 있지만

java.sql.Date는 날짜 데이터만 가지고 있다.

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,