我有一个varchar
字段,其中包含简单的字符串,例如apple
和banana
。我只是试图将列更改为JSONB[]
列,并将值更改为["apple"]
和["banana"]
。
答案 0 :(得分:1)
jsonb[]
几乎没有任何意义,如果有的话,请使用jsonb
。如果您确实使用了jsonb[]
,则您的值将类似于{"[\"banana\"]"}
,而不是["banana"]
。
要将单个varchar
值转换为一个JSONB值,该值是一个数组(不是 JSONB值的数组),您可以使用:
to_jsonb(array[the_column])
这可以用作ALTER TABLE语句的一部分:
alter table the_table
alter column the_column
type jsonb using to_jsonb(array[the_column]);