Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
496 views
in Technique[技术] by (71.8m points)

sql - How to convert Unix epoch to a timestamp

I am new to postgresql bot not to sql in general. I have a table that I need to read values from, on of the columns is a unix timestamp that I want to convert in to a more human readable format thus I found this:

SELECT lt,dw,up,to_char(uxts, 'YYYY-MM-DD HH24:MI:SS') 
from products;

But that produces an error: ERROR: multiple decimal points

I am lost here. I am sure someone can show me how to do it. The documentation isn't that clear to me. Postgresql 9.5 is the database.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

to_char() converts a number, date or timestamp to a string, not the other way round.

You want to_timestamp()

Convert Unix epoch (seconds since 1970-01-01 00:00:00+00) to timestamp


So just apply that function on your column

SELECT lt,dw,up,to_timestamp(uxts) as uxts 
from products;

This assumes that uxts is some kind of number data type (integer, bigint or double precision)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...