postgresql - 如何更改 postgresql 数组的默认分隔符?
问题描述
我想将带有 Postgres 数组的 csv 导入 Postgres 表。
这是我的桌子:
create table dbo.countries (
id char(2) primary key,
name text not null,
elements text[]
CONSTRAINT const_dbo_countries_unique1 unique (id),
CONSTRAINT const_dbo_countries_unique2 unique (name)
);
我想插入一个看起来像这样的csv:
AC,ac,{xx yy}
当我键入时copy dbo.mytable FROM '/home/file.csv' delimiter ',' csv;
,数组被读取为一个字符串:{"xx yy"}
。
如何将数组的默认分隔符从更改,
为
?
解决方案
您不能更改数组的分隔符。您可以将数据读取到表中,稍后您可以在此表上运行更新:
UPDATE dbo.countries
SET elements = string_to_array(elements[1], ' ')
WHERE strpos(elements[1], ' ') > 0;
推荐阅读
- python - 将 3D 曲面(由 plot_trisurf 生成)投影到 xy 平面并在 2D 中绘制轮廓
- windows - 访问 nginx 后面的 Windows Admin Center
- sql - SQL 中的 LEFT JOIN 但排除连接 where table1.column1 = 'specific_value'
- javascript - rectMode(CENTER)不围绕其中心旋转形状
- php - PHP While 循环使服务器超时
- html - 如何使用目录的绝对路径从 angular 8 在新选项卡中打开目录?
- javascript - 在 .map() 方法中检查匹配的字符串
- bash - 使用 awk 从 vcf 文件中提取字符串
- r - 从 data.table 中的向量设置多个列类
- sql - SQL:如何根据开始和结束日期获取可用的电话号码?