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