示例中用到的表及数据:
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:如果FIELDS ESCAPED BY ''中的字符是空字符,则NULL 被作为NULL
输出,而不是作为“\N”输出。
gbase>
SELECT
*
FROM
gs
INTO
OUTFILE
'/home/gbase/temp/esp_1.txt'
FIELDS
ESCAPED
BY
'';
Query OK, 2 rows affected
查看导出文件:
$ cat esp_1.txt
NULL NULL
1 GBase
注意
hive 表如果设置FIELDS ESCAPED BY ''是空字符,则NULL 还是作为\N 输出。
gbase> select * from r3 INTO OUTFILE '/home/gbase/4.txt' FIELDS ESCAPED BY '';
Query OK
# cat 000000_0
2 tod 2001-01-01 00:00:00
\N \N \N
示例2:如果在导出语句中指定了字段包围符,仍对NULL 值不起作用。
gbase> SELECT * FROM gs INTO OUTFILE '/home/gbase/temp/esp_2.txt' FIELDS ESCAPED BY
GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 243
'' ENCLOSED BY '"';
Query OK, 2 rows affected
查看导出文件:
$ cat esp_2.txt
NULL NULL
"1" "GBase"