返回首页

gbase数据、南大通用产品文档:GBase8aline_separator

更新日期:2024年09月11日

功能
该参数用于设定行分隔符。只在format=3 时,该参数有效。

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
536
示例

单字节行分隔符:
示例1
--line_separator ='@'
示例2
-l'@'

多字节行分隔符:
示例3
--line_separator='*|*'
示例4
-l'*|*'

如果设定为十六进制的行分隔符,则命令参数后面用双引号扩起十六进制值。
示例5
--line_separator ="x'6223'"
示例6
-l"x'6223'"
参数说明
表4- 102 参数说明
参数全称
参数简称
取值范围
默认值
line_separator
l
最多15 个字符
'\n'

j 值相同,所以avg 值相同,计算过程为avg = (8 + 4 + 6) / 3 = 6,i=2,j=1,k=4 时,
avg=5.5,计算过程为avg = (8 + 4 + 6 + 4) / 4 = 5.5。
示例2:AVG(DISTINCT k) OVER(PARTITION BY i)
gbase> SELECT *,AVG(DISTINCT k) OVER(PARTITION BY i) AS avg FROM t1;
+------+------+------+--------+
| i | j | k | avg |
+------+------+------+--------+
| 2 | 3 | 6 | 6.0000 |
| 2 | 3 | 4 | 6.0000 |
| 2 | 5 | 8 | 6.0000 |
| 2 | 1 | 4 | 6.0000 |
| 3 | 2 | 2 | 5.0000 |
| 3 | 2 | 4 | 5.0000 |
| 3 | 2 | 2 | 5.0000 |
| 3 | 4 | 6 | 5.0000 |
| 3 | 1 | 2 | 5.0000 |
| 3 | 5 | 8 | 5.0000 |
+------+------+------+--------+
10 rows in set
用例分析:
首先根据i 分组,
由于没有ORDER BY 部分,
则同组内的累加和、
COUNT
值都相等,将同组内的k 值进行累加同时计算COUNT 值,如果遇到不同组,从0
重新开始。
以i 值为2、2、2、2,j 值为5、3、3、1,k 值为8、4、6、4,avg 值为6、6、6、
6 为例,
因为在这4 组数值中,
不同的k 值为6、
4、
8,
所以avg= (6 + 4 + 8) / 3 = 6。

示例中用到的表及数据:
DROP TABLE IF EXISTS gs;
CREATE TABLE gs (a int DEFAULT NULL, b varchar(20) DEFAULT NULL);
INSERT INTO gs values(1,'qw\ner'),(2,'as\rdf');
如果在导出的数据中某字段
(通常为字符串类型,
如varchar)
中包含
“\n”

“\r”

则只对“\n”进行转义。
如果在“\n”前加转义字符(默认为“\”),“\r”不变,仍为不可见字符“\r”,
使用二进制方式查看为“0x0D”。
示例1:转义“\n”的原因是文本中的内容“\n”与默认的行分隔符(LINES
TERMINATED)相同,故将文本中的“\n”转义。
gbase> SELECT * FROM gs INTO OUTFILE '/home/gbase/temp/n_1.txt';
Query OK, 2 rows affected
查看导出文件:
$ cat -b n_1.txt
1 1 qw\
2 er
df 3 2 as
注意
cat 命令中的-b 参数表示对非空输出行进行编号。
使用二进制方式查看导出文件:
$ hexdump -C n_1.txt
00000000 31 09 71 77 5c 0a 65 72 0a 32 09 61 73 0d 64 66 |1.qw\.er.2.as.df|
00000010 0a |.|
00000011
示例2:如果显示的指定行分隔符为其他字符,则不发生转义。

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 245
gbase> SELECT * FROM gs INTO OUTFILE '/home/gbase/temp/n_2.txt' LINES TERMINATED BY
';';
Query OK, 2 rows affected
查看导出文件:
$ vi n_2.txt
1 qw
er;2 as^Mdf;
说明
导出文件中的“^M”表示“\n”。
使用二进制方式查看导出文件:
$ hexdump -C n_2.txt
00000000 31 09 71 77 0a 65 72 3b 32 09 61 73 0d 64 66 3b |1.qw.er;2.as.df;|
00000010