2014-12-20 3 views
-1

에포크 시간 (밀리 초)을 C * db에 저장하고 있지만 행 데이터를 검색 할 때 다음 형식의 데이터가 나타납니다.카산드라 : 획기적 시간 검색 문제

starts: { 
low: 1753507485 
high: 330 
unsigned: false 
} 

내 테이블 구조는 다음과 같습니다 :

CREATE TABLE ks.cron_tasks(
    type varchar, 
    starts bigint, 
    chatid varchar, 
    status varchar, 
    result varchar, 
    PRIMARY KEY (type, starts) 
); 

는 그 데이터가 올바르게 DB에 입력된다 확인하지만, 다시 데이터를 가져올 때 나는 lowhigh 매개 변수를 얻고있다.

참고 : 내 tz는 IST (GMT + 330 분)입니다.

입력 할 때 '1419092715165'값이 입력되었습니다.

이제 정확한 값을 어떻게 다시 얻을 수 있습니까?

+0

이 문제에 대한 대안으로 double 형식으로 시작점을 저장할 수 있으며 꽤 잘 작동합니다. 그러나 여전히 bigint 데이터가 고/저 부분으로 분리되는 방법을 알고 싶어합니다. – guptakvgaurav

답변

2

태그를 기반으로 node.js 드라이버를 사용하고있는 것 같습니다. 이 드라이버는 long.js 클래스를 사용하여 64 비트 정수를 나타냅니다 (bigint는 64 비트 정수).

https://www.npmjs.com/package/long

낮고 높은

은 정수의 상기 제 1 및 제 2 32 비트를 나타낸다. long 객체에 대해 toString()을 호출하여 정수의 문자열 표현을 가져올 수 있어야합니다.

//string value of the integer representation 
var val = row.starts.toString(); 

Google Closure Long documentation.