我正在尝试将数据插入到netezza框中。我有一个管道分隔文件,其中我想要'none'的多种变体(即'None','NONE','none')被视为NULL。虽然'-nullvalue'选项一次只能用于一个变体,但它不允许我将多个变体设置为NULL。
此外,cf中的nullvalue选项的多个定义也无济于事
答案 0 :(得分:1)
从版本7.2开始, nzload 不允许-nullvalue选项的多个值。但是, 指定的4个字符值不区分大小写,这允许您的特定样本情况-nullvalue为'None'以匹配'NONE','无','NoNe'等。
TESTDB.ADMIN(ADMIN)=> create table null_test (col1 int, col2 int, col3 int);
CREATE TABLE
$ cat test.txt
1|NONE|1
2|None|2
3|NoNe|3
$ nzload -db testdb -df test.txt -t null_test -delim \| -nullvalue 'None'
Load session of table 'NULL_TEST' completed successfully
TESTDB.ADMIN(ADMIN)=> select * from null_test where col2 is null;
COL1 | COL2 | COL3
------+------+------
1 | | 1
2 | | 2
3 | | 3
(3 rows)