ercizMedlem sedan maj 20011 826 inlägg 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?
SPiNMedlem sedan mars 20007 896 inlägg 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
ercizMedlem sedan maj 20011 826 inlägg
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.
ercizMedlem sedan maj 20011 826 inlägg 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.
ercizMedlem sedan maj 20011 826 inlägg Löste det nu med:
select date_part('epoch',date_trunc('milliseconds', created))*1000 AS created from mytable;