Вставить, обновить или изменить столбец в postgres при работе с to_char

Что я имею;

3 таблицы в postgres 9.4. Таблица 1 представляет собой основную таблицу. Таблицы 2 и 3 содержат некоторые дополнительные данные (множитель обновления), которые представляются ежеквартально (например, первый квартал 2017 года в формате varchar). В таблице 1 указана дата транзакции в формате даты, а также столбец «Оплаченная цена». Я добавил столбец под названием «четверти» для заполнения новыми данными, которые будут храниться как varchar.

Что я хочу сделать;

Создайте ежеквартальный столбец в таблице 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 на месте? Причина, по которой мне нужен столбец в таблице 1, заключается в том, что я могу создать столбец цены обновления в таблице 1, используя оператор WHERE, чтобы найти правильный множитель. Это расчет поправки на инфляцию.


person mapping dom    schedule 17.04.2017    source источник
comment
Ваш синтаксис для команды UPDATE неверен. Правильный синтаксис см. в руководстве: postgresql.org/docs/current /static/sql-update.html   -  person a_horse_with_no_name    schedule 17.04.2017


Ответы (1)


Я думаю, это то, что вы хотите.

UPDATE table_1 
SET quarters = to_char(dateoftransfer, '"Q"Q YYYY');
person Jasen    schedule 17.04.2017