Ändern Sie einen Datentyp der Spalte Postgres
Hey ich habe gerade angefangen, PostgreSQL, und ich Frage mich, wie können wir das ändern des Datentyps einer Spalte habe ich versucht, den folgenden Befehl ein:
alter table tableName alter column columnName type timestamp with time zone;
Allerdings bekam ich folgende Meldung:
column "columnName" cannot be cast to type timestamp with time zone
Den aktuellen Spalte den Datentyp int, und ich möchte es ändern, Zeitstempel
InformationsquelleAutor user2597012 | 2013-10-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Postgres nicht wissen, wie zu übersetzen, int timestamp. Es gibt mehrere Fälle, und meist haben Sie unterschiedliche Start-Datum.
Wenn Sie einen Blick in die Dokumentation finden Sie eine Zeile syntax mit Beispiel wie convert unix time integer Typ:
ALTER TABLE foo ALTER COLUMN foo_timestamp SET DATA TYPE timestamp with time zone USING timestamp with time zone 'epoch' + foo_timestamp * interval '1 second';
Nur sagen, PostgreSQL, was Zeit-zone verwenden, in der USING-Ausdruck
InformationsquelleAutor Tomasz Myrta
Postgres hat nicht zulassen, int Spalte Typ zu ändern, direkt in der Zeitzone. Dies zu erreichen, müssen Sie zuerst ändern Sie die Spalte Typ auf varchar und klicken Sie dann auf ändern Zeitzone.
alter table tableName alter column columnName type varchar(64);
alter table tableName alter column columnName type timestamp with time zone;
InformationsquelleAutor Ritesh Jha
Gibt es einen besseren Weg, dies zu tun, mit der
USING
- Klausel. Etwa so:InformationsquelleAutor Frank Conry