View Single Post

   
  #3 (permalink)  
Old 04-29-2008, 08:31 PM
Stephan Szabo
 
Posts: n/a
Default Re: changing column datatype from char(20) to timestamp

On Tue, 29 Apr 2008, Lonni J Friedman wrote:

> Back then, I was effectively mangling timestamps in a table, by
> casting to char(20) to work around problem with a webapp. The app
> finally got fixed, and I'm looking into how to try to get all this
> ugly data from char(20) into a sane 'timestamp without time zone'
> format. Right now, its all:
>
> date_created | character(20) | not null
>
> I want to change it to:
> date_created | timestamp without time zone | not null
>
> Unfortunately, I can't just do:
> ALTER TABLE data ALTER COLUMN date_created TYPE timestamp ;


In recent versions I think something like
ALTER TABLE data ALTER COLUMN date_created TYPE timestamp USING
CAST(date_created as timestamp);
should work. If you have data for which the cast will fail, you can use
some other expression after the USING.

--
Sent via pgsql-novice mailing list (pgsql-novice@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-novice

Reply With Quote