SQL Developer에서 "date + % s % 3N"linux 명령을 복제해야합니다. 아래 코드 샘플을 시도했지만 다른 값을 반환합니다. 나는 또한 행운을 빌어 Google을 광범위하게 검색했다.SQL Developer에서 총 시간 (밀리 초 단위) 생성
select to_char((extract(day from (systimestamp - timestamp '1970-01-01 00:00:00')) * 86400000
+ extract(hour from (systimestamp - timestamp '1970-01-01 00:00:00')) * 3600000
+ extract(minute from (systimestamp - timestamp '1970-01-01 00:00:00')) * 60000
+ extract(second from (systimestamp - timestamp '1970-01-01 00:00:00')) * 1000) * 1000) unix_time
from dual;
날짜 + 등의 %의 % 3N 명령이 리턴 뭔가 :
1475594089419116
날짜 명령이 리턴 : 위의 코드 샘플 반면
1475615656692870653
같은 뭔가를 반환 코드 샘플 이전에 실행되었지만 코드 샘플보다 길거나 큰 수입니다. 가능한 경우 오라클의 궁극적 인 솔루션은 직접 유틸리티입니다. 그렇지 않으면 Oracle 내에서 date 명령을 호출 할 가능성이 있습니다.
그건 여분의 수학이 많아요. 왜 각 개별 시간 구성 요소를 추출해야하며 초 단위로 곱하면됩니까? http://stackoverflow.com/questions/12105691/convert-timestamp-datatype-into-unix-timestamp-oracle 당신이 가진 모든 것은 날짜 "수학"의 단 하나의 비트로 할 수 있습니다. –
데이터베이스 서버의 시간대는 무엇입니까? 유닉스 시간은'1970-01-01 00:00:00 UTC'를 기준으로합니다! –
당신은'extract (second from ...) * 1000) * 1000' 즉 마이크로 초를 만듭니다. 너가 원하는게 그거야? –