如何在 postgresql 的视图中更改 table 列数据类型

how to change a table column datatype in a view in postgresql

))大家好,我的 table 中有一个 'Interval' 数据类型列,我想在我的 table 视图中将其更改为 'character varying' 数据类型。

我知道我可以使用...更改它

to_char(interval, 'yy-mm-dd HH24:MI:SS.MS');

但我想在我的 table 中将该列数据类型保留为 'interval',并查看 table 将 'interval' 列更改为 'character varying' 我的table视图中的数据类型。

太简单了...

CREATE TABLE mytable (length INTERVAL);

INSERT INTO mytable (length) VALUES (INTERVAL '1 minute');

CREATE VIEW myview AS
  SELECT to_char(length, 'yy-mm-dd HH24:MI:SS.MS') AS length
  FROM mytable;

这可能吗?感谢进阶。

您可以像指定任何其他查询一样指定您的视图,而无需更改基础 table 类型。这是一个 Fiddle 你的例子。

CREATE TABLE mytable (length INTERVAL);

INSERT INTO mytable (length) VALUES (INTERVAL '1 minute');

CREATE VIEW myview AS
  SELECT to_char(length, 'yy-mm-dd HH24:MI:SS.MS') AS length
  FROM mytable;

SELECT * FROM mytable;
-- 0 years 0 mons 0 days 0 hours 1 mins 0.00 secs

SELECT * FROM myview;
-- 00-00-00 00:01:00.000