У меня проблема с получением длинного значения из PostgreSQL
Я использую следующую команду SQL:
SELECT *, (extract(epoch FROM start_timestamp) * 1000) FROM lot
WHERE EXTRACT(EPOCH FROM lot.start_timestamp) * 1000 >=1265299200000 AND
EXTRACT(EPOCH FROM lot.start_timestamp) * 1000 <=1265990399999
ORDER BY start_timestamp DESC limit 9 offset 0
Меня интересует метка времени Unix в мс
Я запускаю эту команду вручную через pgAdmin.
Из pgAdmin я видел 1265860762817 для столбца (извлечение (эпоха ОТ start_timestamp) * 1000)
Однако, когда я получаю через psycopg2, вот что я использую:
cur = conn.cursor()
cur.execute(sql)
rows = cur.fetchall()
for row in rows :
print row[3]
И вот что я получаю:
1.26586076282e + 12
Я передаю это значение из Python CGI в JavaScript в JSON
Если я делаю ручное преобразование в JavaScript
1.26586076282e + 12
// summary.date is 1.26586076282e+12
var timestamp = summary.date * 1;
// Get 1265860762820
alert(timestamp);
Разница ошибок 3 мс
1265860762817
1265860762820-
==============
3
==============
Как мне избежать такой ошибки? Я могу убедиться, что psycopg2 возвращает меня 1265860762817 , а не 1.26586076282e + 12