回答編集履歴
3
修正
answer
CHANGED
@@ -1,9 +1,7 @@
|
|
1
|
-
CSVとはせず、textで1行1項目として取り込んだ後に、加工するしか
|
1
|
+
CSVとはせず、textで1行1項目として取り込んだ後に、加工するのはどうでしょうか。
|
2
2
|
|
3
|
-
一旦仮テーブルに取り込んで置いて、その後配列として分解して本来のテーブルに挿入
|
3
|
+
一旦仮テーブルに取り込んで置いて、その後配列として分解して本来のテーブルに挿入。
|
4
|
-
|
4
|
+
|
5
|
-
上記のような記述で追加すれば良いかと。
|
6
|
-
※添え字に該当するものが無い場合はNullになる
|
7
5
|
```SQL
|
8
6
|
CREATE TABLE test3 (id int, length int, col1 text, col2 text, col3 text);
|
9
7
|
CREATE temp TABLE test (item text) on commit drop;
|
@@ -15,4 +13,5 @@
|
|
15
13
|
, string_to_array(item ,','))[4] -- col2
|
16
14
|
, string_to_array(item ,','))[5] -- col3
|
17
15
|
from test
|
16
|
+
--※添え字に該当するものが無い場合はNullになる
|
18
17
|
```
|
2
追記
answer
CHANGED
@@ -1,6 +1,18 @@
|
|
1
1
|
CSVとはせず、textで1行1項目として取り込んだ後に、加工するしかないかと思います。
|
2
2
|
|
3
3
|
一旦仮テーブルに取り込んで置いて、その後配列として分解して本来のテーブルに挿入
|
4
|
-
|
4
|
+
(string_to_array([カラム],','))[添え字]
|
5
5
|
上記のような記述で追加すれば良いかと。
|
6
|
-
※添え字に該当するものが無い場合はNullになる
|
6
|
+
※添え字に該当するものが無い場合はNullになる
|
7
|
+
```SQL
|
8
|
+
CREATE TABLE test3 (id int, length int, col1 text, col2 text, col3 text);
|
9
|
+
CREATE temp TABLE test (item text) on commit drop;
|
10
|
+
COPY test FROM '/data.csv' WITH text;
|
11
|
+
insert into test3
|
12
|
+
select string_to_array(item ,','))[1]::int -- id
|
13
|
+
, string_to_array(item ,','))[2]::int -- length
|
14
|
+
, string_to_array(item ,','))[3] -- col1
|
15
|
+
, string_to_array(item ,','))[4] -- col2
|
16
|
+
, string_to_array(item ,','))[5] -- col3
|
17
|
+
from test
|
18
|
+
```
|
1
修正
answer
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
CSVとはせず、textで1行1項目として取り込んだ後に、加工するしかないかと思います。
|
2
2
|
|
3
|
-
|
3
|
+
一旦仮テーブルに取り込んで置いて、その後配列として分解して本来のテーブルに挿入
|
4
|
-
```
|
4
|
+
```(string_to_array([カラム],','))[添え字]```
|
5
|
-
な
|
5
|
+
上記のような記述で追加すれば良いかと。
|
6
|
+
※添え字に該当するものが無い場合はNullになる
|