Postgresql изменить кодировать в шестнадцатеричное для определенного содержимого столбцов в таблице - PullRequest
0 голосов
/ 19 декабря 2018

Я пытаюсь обновить все значения в 2-х конкретных столбцах для двух разных таблиц, которые мы до сих пор имеем в HEX, но безуспешно в нашем PostgreSQL 8.4.7 на Centos.

Вот два типа столбцов и имя таблицы, к которой они принадлежат:

-node_id - это столбец smallint по умолчанию 1. Это принадлежит table1 -value - столбец bytea, принадлежащий table2

Я могу сделать выбор в таблице 2 для столбца значения: bytea со следующим выбором:

ВЫБЕРИТЕ кодировать (значение :: bytea, 'hex') ОТ таблицы2;

Но этот синтаксис не работает для table1 node_id: столбец smallint.

Я попробовал следующие команды безуспешно и без усилий изменить значения столбцов на шестнадцатеричные в соответствующих таблицах.

ALTER TABLE table2 SET значение TO 'hex';

ALTER TABLE table2 MODIFY значение TO 'hex';

UPDATE table1 (value :: bytea, 'hex');

ОБНОВЛЕНИЕ tbl table2 SET value :: bytea TO 'hex';

SET encode (value :: bytea, 'hex') FROM table2;

Существует какой-либо правильный способ сделать этов одной команде, как указано выше?

Заранее спасибо за любую помощь.

1 Ответ

0 голосов
/ 02 января 2019

Мне удалось решить мою проблему с помощью следующей команды:

CREATE TABLE "name" AS select *, кодировать (значение, 'hex') как "column_name" из "table";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...