У меня есть таблица, которая содержит одно значение, period_start TIMESTAMP NOT NULL
. Я хотел бы иметь второй столбец, в котором хранится день этой отметки времени.
Я попробовал следующий sql:
ALTER TABLE foo ADD COLUMN day DATE;
UPDATE foo SET day = period_start::DATE;
ALTER TABLE foo ALTER COLUMN day SET NOT NULL;
Теперь, когда я выполняю вышеизложенное, я получаю ошибку, что day
содержит нулевые значения. Глядя на содержимое таблицы, я вижу, что каждая строка имеет NULL
в качестве значения дня.
Однако, SELECT *, period_start::DATE FROM foo
дает мне ожидаемый результат.
Почему мой оператор UPDATE
терпит неудачу и как я могу это исправить, чтобы столбец day
был правильно заполнен?