Re: Accommodating alternative column values

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: Accommodating alternative column values
Дата
Msg-id CAKFQuwYmt-UmO_WaqZ-mhS+nBEm35kKy_CyCSu6Zqpam4ypxcQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Accommodating alternative column values  (Rich Shepard <rshepard@appl-ecosys.com>)
Список pgsql-general
On Wed, Jul 3, 2024 at 7:13 AM Rich Shepard <rshepard@appl-ecosys.com> wrote:
On Wed, 3 Jul 2024, David G. Johnston wrote:

> Yeah, the simply cast suggested will not work. You’d have to apply an
> expression that turns the current contents into an array. The current
> contents are not likely to be an array literal.

David,

No, it's not now an array.

I thought that this expression would work, but it doesn't:
bustrac=# alter table people alter column email set data type varchar(64)[] using email::varchar(64)[];
RROR:  malformed array literal: "frank@dmipx.com"
DETAIL:  Array value must start with "{" or dimension information.

If I correctly understand the error detail I'd need to change the contents
of that column for all 1280 rows to enclose the contents in curly braces
before I can convert the datatype to an array. Is that correct?


Assuming today there is only one email per row, no, see Torsten's reply.

You also wouldn't need to perform an update..."using ('{' || email || '}')::text[]" if just doing that...

David J.

В списке pgsql-general по дате отправления: