如果待导出数据中某字段的内容为NULL 值,
则该字段导出的NULL 文本为
“当前
转义符+ N”。
默认情况下的转义符为“\”,因此字段导出的NULL 文本为“\N”。
示例中用到的表及数据:
DROP TABLE IF EXISTS gs;
CREATE TABLE gs (a int DEFAULT NULL, b varchar(20) DEFAULT NULL);
INSERT INTO gs VALUES(NULL,NULL);
INSERT INTO gs VALUES(1, 'GBase');
示例1:转义符默认为“\”,则“NULL”值导出的结果为“\N”。
gbase> SELECT * FROM gs INTO OUTFILE '/home/gbase/null_1.txt';
Query OK, 2 rows affected
查看导出文件:
$ cat null_1.txt
\N \N
1 GBase
示例2:如果在导出语句中指定了字段包围符,则对NULL 值不起作用。
gbase> SELECT
*
FROM
gs
INTO
OUTFILE
'/home/gbase/null_2.txt'
FIELDS
ENCLOSED
BY
'"';
Query OK, 2 rows affected
查看导出文件:
$ cat null_2.txt
\N \N
"1" "GBase"
示例3:设置转义符为“|”,则“NULL”值导出的结果为“|N”。
gbase> SELECT * FROM gs INTO OUTFILE '/home/gbase/null_3.txt' FIELDS ESCAPED BY '|';
Query OK, 2 rows affected
查看导出文件:
$ cat null_3.txt
GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 242
|N |N
1 GBase
注意
如果设置转义字符为"|",只有8a 表会把NULL 导出结果修改为"|N",HIVE 表不会。