timestamp no fractional seconds

From: Brandon Metcalf <brandon(at)geronimoalloys(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: timestamp no fractional seconds
Date: 2009-06-02 16:26:05
Message-ID: Pine.LNX.4.58L.0906021120310.17533@cedar.geronimoalloys.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I need to create a table with two columns of type timestamp but I
don't want to store any fractional part of the seconds field. So,
I created a table with:

CREATE TABLE timeclock (
timeclock_id SERIAL,
employee_id INTEGER,
clockin TIMESTAMP[0] NOT NULL,
clockout TIMESTAMP[0] DEFAULT NULL,

PRIMARY KEY (timeclock_id),

FOREIGN KEY (employee_id)
REFERENCES employee
ON DELETE RESTRICT
ON UPDATE CASCADE
);

But now I can no longer insert a timestamp as I normally would:

gms=# insert into timeclock (employee_id,clockin,clockout) values(3169,now(),null);
ERROR: column "clockin" is of type timestamp without time zone[] but expression is of type timestamp with time zone
LINE 1: insert into timeclock (employee_id,clockin,clockout) values(...
^
HINT: You will need to rewrite or cast the expression.

If I cast it, I get something really strange:

gms=# insert into timeclock (employee_id,clockin,clockout) values(3169,now()::timestamp,null);
ERROR: column "clockin" is of type timestamp without time zone[] but expression is of type timestamp without time zone
LINE 1: insert into timeclock (employee_id,clockin,clockout) values(...
^
HINT: You will need to rewrite or cast the expression.

Am I creating the table correctly? If so, how do I insert or update
rows?

Thanks.

--
Brandon

Responses

Browse pgsql-general by date

  From Date Subject
Next Message hubert depesz lubaczewski 2009-06-02 16:40:03 Re: timestamp no fractional seconds
Previous Message John R Pierce 2009-06-02 16:24:44 Re: loops