Обсуждение: how to cast localtimestamp to bigint???
Hi, I am having a table something like this.... CREATE TABLE(PointId integer, PointName varchar(50),PointType integer, createtime bigint); where createtime is the current timestamp when the tuple is inserted. now how do I insert values into the above table. Is there a way to cast timestamp to bigint. Also can anyone suggest as to which date function to use - CURRENT_TIMESTAMP, LOCALTIMESTAMP, timeofday(), now.... > With Best Regards > Pradeep Kumar P J >
I would have expected SELECT current_timestamp::abstime::bigint; to have worked, but there is no conversion abstime -> bigint. Instead use SELECT current_timestamp::abstime::int::bigint; The final cast to bigint is not strictly neccessary. This all begs the question, though, of why you are using a bigint for createtime and not a timestamp? Pradeepkumar, Pyatalo (IE10) wrote: > Hi, > > I am having a table something like this.... > > CREATE TABLE(PointId integer, PointName varchar(50),PointType integer, > createtime bigint); > > where createtime is the current timestamp when the tuple is inserted. > > now how do I insert values into the above table. Is there a way to cast > timestamp to bigint. > Also can anyone suggest as to which date function to use - > CURRENT_TIMESTAMP, LOCALTIMESTAMP, timeofday(), now.... > > > >>With Best Regards >>Pradeep Kumar P J >> > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster -- Edmund Bacon <ebacon@onesystem.com>
You don't need to use a bigint, read the documentation on data types.
There are a number of different things you can use for a timestamp, here
are a few :
abstime
abstime with timezone
timestamp
timestamp with timezone
Then when you are inserting your data, you can use 'now' as the time.
Eg.
CREATE TABLE pointy_stuff (
PointId integer,
PointName varchar(50),
PointType integer,
CreateTime abstime
);
INSERT INTO pointy_stuff (
PointId,
PointName,
PointType,
CreateTime
) VALUES (
'12345',
'point1',
'1',
'now'
);
I believe abstime is the smallest timestamp, but I could be wrong.
To output the data as a bigint I believe you can use this.
SELECT
PointId,
PointName,
PointType,
date_part('epoch',CreateTime) as unix_ts
FROM
pointy_stuff
;
Hope that helps.
Pradeepkumar, Pyatalo (IE10) wrote:
>Hi,
>
>I am having a table something like this....
>
>CREATE TABLE(PointId integer, PointName varchar(50),PointType integer,
>createtime bigint);
>
>where createtime is the current timestamp when the tuple is inserted.
>
>now how do I insert values into the above table. Is there a way to cast
>timestamp to bigint.
>Also can anyone suggest as to which date function to use -
>CURRENT_TIMESTAMP, LOCALTIMESTAMP, timeofday(), now....
>
>
>
On Thu, 12 Aug 2004 07:47:06 -0700 "Pradeepkumar, Pyatalo (IE10)" <Pradeepkumar.Pyatalo@honeywell.com> threw this fish to the penguins: > I am having a table something like this.... > > CREATE TABLE(PointId integer, PointName varchar(50),PointType integer, > createtime bigint); > > where createtime is the current timestamp when the tuple is inserted. > > now how do I insert values into the above table. Is there a way to cast > timestamp to bigint. > Also can anyone suggest as to which date function to use - > CURRENT_TIMESTAMP, LOCALTIMESTAMP, timeofday(), now.... You could use(from http://www.postgresql.org/docs/7.4/static/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT) EXTRACT (field FROM source) epoch For date and timestamp values, the number of seconds since 1970-01-01 00:00:00-00 (can be negative); for interval values,the total number of seconds in the interval e.g.: select CURRENT_TIMESTAMP, extract('epoch' from CURRENT_TIMESTAMP)::bigint; (1 row) timestamptz | date_part -------------------------------+------------ 2004-08-13 13:27:30.715408-04 | 1092418051 The bigint cast will round to the nearest second. See: http://www.postgresql.org/docs/7.4/static/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT for subtleties of various current time/date functions. -- George Young -- "Are the gods not just?" "Oh no, child. What would become of us if they were?" (CSL)