【发布时间】:2021-02-10 15:04:55
【问题描述】:
我刚刚尝试在我的 PostgreSQL 数据库中读取一个 .JSON 文件,但它无法读取它。我是用 .csv 文件做的,但用 .JSON 文件做不到。
这是 .JSON 文件的样子:
{"s":"S1","p":"P1","j":"J1","qty":200}
{"s":"S1","p":"P1","j":"J4","qty":700}
{"s":"S2","p":"P3","j":"J1","qty":400}
{"s":"S2","p":"P3","j":"J2","qty":200}
这是我尝试过的代码,我先创建了表,然后将文件中的数据复制到数据库中。
create table notifies(
s varchar(999),
p varchar(999),
j varchar(999),
qty varchar(999)
);
copy public.notifies(s,p,j,qty)
from 'C:\temp\spj.json';
【问题讨论】:
-
COPY 无法“读取”json,只需将单行插入单列即可。
-
那么,如何从 .json 文件中插入一列?
-
没有时间给出完整的答案。见JSON functions。例如:
select * from json_to_record('{"s":"S1","p":"P1","j":"J1","qty":200}') as t(s varchar, p varchar, j varchar, qty integer); s | p | j | qty ----+----+----+----- S1 | P1 | J1 | 200
标签: sql json postgresql