ORACLE에서 C의 time_t 형태를 얻어내는 방법?
글쓴이: kkckc / 작성시간: 월, 2008/09/08 - 11:22오전
DB에서 시간에 대한 정보를 time_t 형태로 저장하고 있습니다. (integer : time(0))
Procedure 사용으로 인해서 Oracle에서 C에서 사용하는 time(0) 정보를 얻고 싶습니다.
이 정보는 1970/01/01 이후의 초 정보를 integer로 저장하는 것으로 알고 있습니다.
구글링을 해보니...
http://asktom.oracle.com/tkyte/Misc/CTime.html
http://blog.empas.com/huikyun/19589997
정도가 레퍼런스인데 막상 해보면 값이 정확하게 안나옵니다.
비슷하게라도 나오는게
SELECT trunc((new_time(systimestamp,'EST','GMT')-to_date('197001010000','YYYYMMDDHH24SS'))* (24*60*60),0) from dual
를 써 보았는데, 정확히 안나오네요 -_-.
혹시 Oracle에서 쿼리로 현재 시각(time_t)를 얻어오는 방법이 없을까요?
고수님들의 조언 부탁드립니다.
Forums:
자답입니다 : 아래와
자답입니다 : 아래와 같이 하니 되네용.
SELECT (sysdate-to_date('19700101','YYYYMMDD'))*24*60*60-32400 from dual
== - 32400 나오는군요.
#include
#include
using namespace std;
int main() {
struct tm tt;
tt.tm_year = 1970-1900;
tt.tm_mon = 0;
tt.tm_mday = 1;
tt.tm_hour = 0;
tt.tm_min = 0;
tt.tm_sec=0;
tt.tm_isdst = -1;
long tx = mktime (&tt);
cout << tx << endl;
}
자답 정리 :
블로그에 간략히 정리해놓았습니다.
http://kkckc.tistory.com/60
댓글 달기