Я пытаюсь обновить внесенное недавно изменение в значение в таблице, где я беру время показа определенного mov ie (который хранится в виде строки), затем добавляю к нему два часа и затем сохраните это новое значение в столбце времени показа другого mov ie (т. е. если время показа Iron Man 2 равно 18:45, я хочу установить время показа Iron Man 3 как 20:45).
Сначала я установил время показа, выполнив следующий запрос:
UPDATE movies
SET show_time=
(TO_TIMESTAMP((SELECT show_time
FROM movies
WHERE title= 'Iron Man 2'), 'HH24:MI') + (2||'HOURS')::interval)
WHERE title='Iron Man 3'
Этот запрос получает значение времени показа Iron Man 2, преобразует его из строки в метку времени, а затем добавляет два часа к этому. Что якобы работало, пока я не посмотрел на значение, сохраненное для времени показа для Iron Man 3:
id title year show_time
3 Iron Man 2 2010 18:45
7 Iron Man 3 2013 0001-01-01 20:45:00-00:01:15 BC
Я хочу попробовать изменить значение времени показа, чтобы оно имело только формат ЧЧ: ММ. Я попытался сделать это с помощью следующего запроса:
UPDATE movies
SET show_time =
(TO_CHAR((SELECT show_time
FROM movies
WHERE title= 'Iron Man 3'), 'HH24:MI')
WHERE title= 'Iron Man 3'
Но я получаю сообщение об ошибке:
ERROR: syntax error at or near "WHERE"
Я пытался настроить код, но не могу заставить его работать как целое. Есть предложения?