如何根据postgresql中另一列的计算添加新列?

8 postgresql

我有下表:

id   time_start           area
1   2019-09-01T10:12:32Z  london
2   2019-08-29T10:13:32Z  chicago
3   2019-07-31T10:14:32Z  paris
4   2019-09-28T10:17:32Z  madrid
5   2019-07-04T10:18:32Z  spain
Run Code Online (Sandbox Code Playgroud)

我想添加一个名为 Correct_date 的新列,它只是 time_start 列:

新列应添加到末尾,如下所示:

date_start
2019-09-01
2019-08-29
2019-07-31
2019-09-28
2019-07-04
Run Code Online (Sandbox Code Playgroud)

但是,我事先根据 where 语句过滤数据,并且有点困惑如何在满足 where 条件后更改表 - 或者以哪种顺序执行该过程?我知道我必须使用 timestamp::date 来获取日期。

我当前的查询是

select * 
from 
my_table 
where area in ('london','chicago','paris') 
Run Code Online (Sandbox Code Playgroud)

如何在上面的代码中添加一个 alter table 语句,以便它根据 time_start 列的日期添加一个新列 - 我会在开头执行 alter 语句吗?

使用 postgresql 无法在线找到明确的答案!

Phi*_* W. 4

我想添加一个新专栏...

...我根据 where 语句预先过滤数据

ALTER 一个表会更改整个表。
不可能进行“过滤”;要么每一行都会得到一个闪亮的新列,要么没有一个行会得到一个闪亮的新列。

alter table t1 
add column date_start date ; 

update t1 
set date_start = time_start::date ; 
Run Code Online (Sandbox Code Playgroud)

但是,正如其他人所说,为什么要创建一个全新的列来存储表中已经可用的数据呢?