Ändern Sie die Spalte Typ von Charakter variiert, um Zeitstempel ohne Zeitzone in PostgreSQL

In rails erstellte ich eine string-Spalte genannt open_time aber dann merkte ich, sollte ich die Verwendung der datetime-Typ. Ich habe

change_column :polls, :open_time, :datetime

Aber es sagte:

PG::Error: ERROR:  column "open_time" cannot be cast to type timestamp without time zone
: ALTER TABLE "polls" ALTER COLUMN "open_time" TYPE timestamp

Wenn ich einfach die string-Spalte, und fügen Sie neue datetime-Spalte ist, die ich verlieren die gespeicherten Daten in der Zeichenfolge-Spalte. Alternativ können Sie im PostgreSQL-ich Spalte hinzufügen:

 ALTER TABLE polls ADD COLUMN published_time timestamp;

Dann habe ich versucht, die Daten aus dem string-Spalte wie:

UPDATE polls SET published_time = strToTimeStamp(open_time);

Also meine Frage ist gibt es irgendwelche Funktionen, die ich verwenden können, wie strToTimeStamp konvertieren können Zeichen unterschiedlichen Typs timestamp ohne Zeit-zone geben?

InformationsquelleAutor Yujun Wu | 2012-11-14
Schreibe einen Kommentar