with date_fields as ( select id, extract(dow from date) as day_of_week, extract(hour from date) as hour_of_day, extract(minute from date) as minute_of_hour from cycling_entry ) update cycling_entry set day_of_week=subquery.day_of_week, hour_of_day=subquery.hour_of_day, minute_of_hour=subquery.minute_of_hour from ( select * from date_fields ) as subquery where cycling_entry.id = subquery.id;