将列类型从varchar更改为Redshift中的datestamp

问题描述 投票:0回答:1

我正在尝试从表创建视图,并将列类型之一从varchar更改为datestamp。

我的original_talbe看起来像这样:

A       B                       C         D
80.00   2020-03-07 19:36:50     testing   approved
80.00   2020-03-07 19:46:50     testing   approved

我所有的列都是varchar,我想创建一个视图new_view,其中B的列类型将是日期戳。

我尝试过:

CREATE OR REPLACE VIEW schema.new_view
AS SELECT * from schema.original_table
alter view original_table alter column date_from_original_table type timestamp using date_created::timestamp;

但是我遇到一个错误:

无效操作:“视图”处或附近的语法错误

如何获得具有列B的日期戳格式的视图的结果?

谢谢您的建议。

sql database alter-table
1个回答
0
投票

您可以在构造视图时强制转换值:

create view schema.new_view as
    select a, b::timestamp, c, d
    from schema.original_table;
© www.soinside.com 2019 - 2024. All rights reserved.