返回首页

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

更新日期:2024年09月11日

字段文本中包含“\n”或“\r”时的处理
示例
如果在导出的数据中某字段
(通常为字符串类型,
如varchar)
中包含
“\n”

“\r”

则只对“\n”进行转义。
如果在“\n”前加转义字符(默认为“\”),“\r”不变,仍为不可见字符“\r”

使用二进制方式查看为“0x0D”。
示例1:转义“\n”的原因是文本中的内容“\n”与默认的行分隔符(LINES
TERMINATED)相同,故将文本中的“\n”转义。
示例中所用的表及数据:
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');
导出SQL 语句:
gbase> SELECT * FROM gs INTO OUTFILE '/home/gbase/temp/n_1.txt';
Query OK, 2 rows affected
查看导出文件,cat 命令中的-b 参数表示对非空输出行进行编号:
$ cat -b n_1.txt
1
1
qw\
2
er
df
3
2
as
使用二进制方式查看导出文件:
$ 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
|.|

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1256
00000011
示例2:如果显示的指定行分隔符为其他字符,则不发生转义。
示例中所用的表及数据:
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');
导出SQL 语句:
gbase> SELECT * FROM gs INTO OUTFILE '/home/gbase/temp/n_2.txt'
LINES TERMINATED BY ';';
查看导出文件,导出文件中的“^M”表示“\n”:
$ vi n_2.txt
1
qw
er;2
as^Mdf;
使用二进制方式查看导出文件:
$ 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

书签是标识一行数据的值。
GBase 8s ODBC Driver 以 SQLFetchScroll 和 SQLExtendedFetch 支持书签,不以
SQLBulkOperations 支持它们。GBase 8s ODBC Driver 支持书签到下列程度:

仅使用变长书签。

为书签列将 SQL_DESC_OCTET_LENGTH 设置为 4。

书签是行集内包含行编号的一个整数,从 1 开始。

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 27 -

只有游标保持打开,书签才能保持。

完全支持 SQLFetchScroll,使用 SQL_FETCH_BOOKMARK 来访存
orientation 参数。

SQLBulkOperations 不更新 SQL_ADD 的书签列。

取值:[0|1]
默认值:1
说明:集群层Set 变量时,只有'gbase_'开头的变量才向单机发送。
修改方式:可使用set 语句修改值。适用于session、global 范围均可。