webForumDet fria alternativet

Hur hämtar jag timestamp oformaterad i millisekunder från PostgreSQL?

Databaser & SQL

4 svar · 1 319 visningar · startad av erciz

Medlem sedan maj 20011 826 inlägg
Frågan#1

Jag har en kolumn "created" med typen "timestamp" som jag vill hämta från en PostgreSQL-databas. Som standard så blir det formaterat med datum och tid, men jag skulle vilja ha det i rena millisekunder.

Kör jag

SELECT created FROM mytable;

så får jag typ "2011-05-17 10:23:13.34" men jag vill ha det i formatet "23434554235".

Hur får jag fram timestamp i bara millisekunder från PostgreSQL?

Medlem sedan mars 20007 896 inlägg
#2

Millisekunder? Jag tror du menar sekunder från 1970-01-01, alltså UNIX timestamp. En millisekund är ju en tusendels sekund.

För att få UNIX timestamp;

select
    unix_timestamp(`created`) as unix_time
from
    `your_table`

Edit
Oops, var lite snabb - ovanstående är för MySQL. För PostgreSQL;

select
    date_part('epoch', timestamp(created))
from
    your_table
Medlem sedan maj 20011 826 inlägg
#3

SPiN skrev:

Millisekunder? Jag tror du menar sekunder från 1970-01-01, alltså UNIX timestamp. En millisekund är ju en tusendels sekund.

För PostgreSQL;

select
    date_part('epoch', timestamp(created))
from
    your_table

Hm, jag får syntax-fel vid timestamp(created), finns den funktionen eller saknas det nån parameter?

Men ja, vill nog ha antalet millisekunder från 1970, tror att java och javascript använder det formatet.

Medlem sedan maj 20011 826 inlägg
#4
select date_part('epoch', created) FROM mytable

blir hyffsat får fram tidstämpeln i sekunder och 5 decimaler.

T.ex. 1305621628.87694

Finns det nåt sätt att få fram det i hela millisekunder sen 1970?
Vill alltså ha ut 1305621628876 från värdet ovan.

Medlem sedan maj 20011 826 inlägg
#5

Löste det nu med:

select date_part('epoch',date_trunc('milliseconds', created))*1000 AS created from mytable;
266 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)