Ist es möglich, Daten von Spalte A nach Spalte B für alle Datensätze einer Tabelle in SQL zu kopieren?
Antworten
Zu viele Anzeigen?Dadurch werden alle Zeilen in dieser Spalte aktualisiert, wenn der abgesicherte Modus nicht aktiviert ist.
UPDATE table SET columnB = columnA;
Wenn der abgesicherte Modus aktiviert ist, müssen Sie eine Where-Klausel verwenden. Ich verwende Primärschlüssel als größer als 0 im Grunde alle aktualisiert werden
UPDATE table SET columnB = columnA where table.column>0;
Wenn Sie eine Spalte in eine andere Spalte mit einem anderen Datentyp in PostgresSQL kopieren wollen, müssen Sie zuerst in den Datentyp casten/konvertieren, sonst wird
Abfrage 1 ERROR: ERROR: Spalte "test_date" ist vom Typ timestamp ohne Zeitzone, aber Ausdruck ist vom Typ Zeichen variierend ZEILE 1: update table_name set test_date = date_string_col TIPP: Sie müssen den Ausdruck umschreiben oder umformen.
Ein Beispiel für die Umwandlung von varchar in timestamp:
update table_name set timestamp_col = date_string_col::TIMESTAMP;
Ein Beispiel für die Umwandlung von varchar in int:
update table_name set int_column = string_col::INTEGER;
aber jeder Spaltentyp (außer Datei o.ä.) kann in string( kopiert werden character varying
), ohne den Typ zu werfen.