使用 to_char 时在 postgres 中插入、更新或更改列

Insert, update or alter column in postgres when working with to_char

我有什么;

3 tables 在 postgres 9.4 中。 Table 1 是主要的 table tables 2 和 3 包含一些额外的数据(更新乘数),这些数据是季度性的(例如,2017 年第一季度,格式为 varchar)。 Table 1 具有日期格式的交易日期以及价格列。我添加了一个名为 'quarters' 的列来填充将存储为 varchar 的新数据。

我想做什么;

在 table 1 中生成一个季度专栏,我可以使用

SELECT to_char(dateoftransfer, '"Q"Q YYYY') as quarters
FROM  table_1;

如果我再试试;

UPDATE table_1 (quarters)
SELECT to_char(dateoftransfer, '"Q"Q YYYY') as quarters
FROM  table_1;

我收到以下错误

ERROR:  syntax error at or near "quarters"
LINE 1: (quarters)
     ^

我应该使用 COPY 还是 INSERT INTO?我想要 table 1 中的列的原因是我可以通过使用 WHERE 语句找到正确的乘数来在 table 1 中生成更新价格列。它是一个 inflation 调整计算。

我想这就是你想要的。

UPDATE table_1 
SET quarters = to_char(dateoftransfer, '"Q"Q YYYY');