回答編集履歴

7

推敲

2021/04/02 04:59

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -36,8 +36,4 @@
36
36
 
37
37
 
38
38
 
39
- NULL文字列と比較し、一致した場合は値NULLにセットします。」ありますが NULL文字列を指定しない場合には、エラーの場合も強制的にNUllしているみたいです
39
+ > FORCE_NULLを使うこ引用符付きのNULL文字列のデ値をNULLに変換するこきます。
40
-
41
-
42
-
43
- あくまで動作で推測しているだけなので、別な理由かもしれませんが。

6

追記

2021/04/02 04:59

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -29,3 +29,15 @@
29
29
  ;
30
30
 
31
31
  ```
32
+
33
+ > FORCE_NULL
34
+
35
+ > 指定された列の値を、それが引用符付きであったとしても、NULL文字列と比較し、一致した場合は値をNULLにセットします。 NULL文字列が空であるデフォルトでは、引用符付きの空文字列をNULLに変換します。 このオプションはCOPY FROMで、かつCSV形式を使用する場合のみ許されます。
36
+
37
+
38
+
39
+ 「NULL文字列と比較し、一致した場合は値をNULLにセットします。」とありますが、 NULL文字列を指定しない場合には、エラーの場合も強制的にNUllとしているみたいですね。
40
+
41
+
42
+
43
+ あくまで動作で推測しているだけなので、別な理由かもしれませんが。

5

推敲

2021/04/02 04:57

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  --
20
20
 
21
- FORCE_NULL指定で大丈夫そうですね。
21
+ **FORCE_NULL**指定で大丈夫そうですね。
22
22
 
23
23
  ```
24
24
 

4

推敲

2021/04/02 04:47

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  ```
24
24
 
25
- copy public.test(inta, strb) FROM 'e:\test_dummy.CSV'
25
+ copy public.test(inta, strb) FROM '//xxxxxxx/test_dummy.CSV'
26
26
 
27
27
  with(format CSV, FORCE_NULL(inta), HEADER true, ENCODING 'SHIFT_JIS_2004', ESCAPE '''')
28
28
 

3

追記

2021/04/02 04:46

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -11,3 +11,21 @@
11
11
 
12
12
 
13
13
  文字型のダミーの一時テーブルにインポートして、そこから正式なテーブルにinsertするようにしてはどうですか。
14
+
15
+
16
+
17
+ 追記
18
+
19
+ --
20
+
21
+ FORCE_NULL指定で大丈夫そうですね。
22
+
23
+ ```
24
+
25
+ copy public.test(inta, strb) FROM 'e:\test_dummy.CSV'
26
+
27
+ with(format CSV, FORCE_NULL(inta), HEADER true, ENCODING 'SHIFT_JIS_2004', ESCAPE '''')
28
+
29
+ ;
30
+
31
+ ```

2

追記

2021/04/02 04:46

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -7,3 +7,7 @@
7
7
  ではどうですか。~~
8
8
 
9
9
  上記は駄目ですね。
10
+
11
+
12
+
13
+ 文字型のダミーの一時テーブルにインポートして、そこから正式なテーブルにinsertするようにしてはどうですか。

1

訂正

2021/04/02 04:38

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
 
4
4
 
5
- `Null '""'`
5
+ ~~`Null '""'`
6
6
 
7
- ではどうですか。
7
+ ではどうですか。~~
8
+
9
+ 上記は駄目ですね。