我有一个表,其中包含一个值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
作为day的值。
但是,SELECT *, period_start::DATE FROM foo
给了我预期的结果。
为什么我的UPDATE
语句失败,如何解决它,以便正确填充day
列?