recasting to timestamp from varchar

Started by Kirk Wythersover 13 years ago2 messagesgeneral
Jump to latest
#1Kirk Wythers
kirk.wythers@gmail.com

I am trying to re-cast a column as a timestamp>

ALTER TABLE sixty_min ALTER COLUMN time2 TYPE timestamp;
ERROR: column "time2" cannot be cast to type timestamp without time zone

The column time2 is currently a varchar. I actually do not want to mess with time zones, but it seems that postgres will not let me do this. The actual values in the column time2 look like this:

7/15/08 12:00

Is this possible?

#2Pavel Stehule
pavel.stehule@gmail.com
In reply to: Kirk Wythers (#1)
Re: recasting to timestamp from varchar

Hello

2013/1/4 Kirk Wythers <kirk.wythers@gmail.com>

I am trying to re-cast a column as a timestamp>

ALTER TABLE sixty_min ALTER COLUMN time2 TYPE timestamp;
ERROR: column "time2" cannot be cast to type timestamp without time zone

The column time2 is currently a varchar. I actually do not want to mess
with time zones, but it seems that postgres will not let me do this. The
actual values in the column time2 look like this:

7/15/08 12:00
Is this possible?

yes. it is possible
postgres=# create table foo(a timestamp);
CREATE TABLE

postgres=# insert into foo values(now());
INSERT 0 1
postgres=#

postgres=# alter table foo alter column a type varchar;
ALTER TABLE
postgres=# alter table foo alter column a type timestamp;
ERROR: column "a" cannot be cast automatically to type timestamp without
time zone
HINT: Specify a USING expression to perform the conversion.
postgres=# alter table foo alter column a type timestamp using a::timestamp;
ALTER TABLE
postgres=#

Regards

Pavel Stehule