ALTER TABLE wochen_report ADD COLUMN ueberstunden_interval interval, ADD COLUMN arbeitszeit_interval interval; UPDATE wochen_report SET ueberstunden_interval = CASE WHEN ueberstunden IS NULL THEN NULL ELSE (ueberstunden::double precision * INTERVAL '1 hour') END, arbeitszeit_interval = CASE WHEN arbeitszeit IS NULL THEN NULL ELSE (arbeitszeit::double precision * INTERVAL '1 hour') END; -- when happy, drop old columns and rename new ones ALTER TABLE wochen_report DROP COLUMN ueberstunden, DROP COLUMN arbeitszeit; ALTER TABLE wochen_report RENAME COLUMN ueberstunden_interval TO ueberstunden; ALTER TABLE wochen_report RENAME COLUMN arbeitszeit_interval TO arbeitszeit;