返回首页

gbase数据、南大通用产品文档:GBase8a字符型数据的转义规则

更新日期:2024年09月11日

字符型数据类型如下表所示:
字符型数据类型
DATE
DATETIME
TIMESTAMP
TIME
CHAR
VARCHAR
BLOB
TEXT
满足下列判断条件之一,则字符x 需要进行转义:
字符x 等于转义符首字符。
字符x 等于行分隔符首字符(FIELDS TERMINATED BY)。
字符x 等于“\0”。
enclosed 的值为TURE,并且字符x 等于FIELDS ENCLOSED BY 设置的字段包围

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 233
符首字符。
enclosed 的值不为TURE,并且字符x 等于FIELDS TERMINATED BY 设置的字段
分隔符首字符。
说明:enclosed 值的判定规则请参见“判定enclosed 的值是否为TRUE”小节。
转义规则的说明:
正常情况下,使用FIELDS ESCAPED BY 关键字定义的转义符对字符进行转义;
如果指定FIELDS ENCLOSED BY 关键字的值为“n、t、r、b、0、Z、N”之一,
并且字符与“字段包围符首字符”相同时,使用字符本身对自己进行转义。
示例中用到的表及数据:
DROP TABLE IF EXISTS t;
CREATE TABLE t(n int, v1 varchar(5), v2 varchar(8));
INSERT INTO t VALUES(102, 'ab', 'xmny');
示例:
SELECT * FROM t INTO OUTFILE '/home/gbase/temp/1.txt' FIELDS ENCLOSED BY 'n';
查看导出结果,“xmny”中字符“n”使用其本身进行了转义:
$ cat 1.txt
n102n nabn nxmnnyn
如果指定FIELDS ENCLOSED BY 关键字的值不属于“n、t、r、b、0、Z、N”之
一时,则采用转义符进行转义的方式。
示例:
SELECT * FROM t INTO OUTFILE '/home/gbase/temp/2.txt' FIELDS ENCLOSED BY 'm';
查看导出结果,“xmny”中字符“m”使用默认的转义符“\”进行转义:
$ cat 2.txt
m102m mabm mx\mnym

IFX_LARGE_PAGES 环境变量指定数据库服务器是否可以在硬件和操作系统支持共享内
存大页面的平台上使用大页面。如果在服务器环境中启用该环境变量,那么 GBase 8s 可
以对物理内存中的非消息共享内存段使用大页面。
只有 AIX® 和 Solaris 操作系统支持 IFX_LARGE_PAGES 环境变量。如果操作系统
不支持大页面或系统上没有配置大页面,那么 IFX_LARGE_PAGES 的设置对 GBase 8s
没有影响。
只有 AIX、Solaris 和 Linux™ 操作系统支持 IFX_LARGE_PAGES 环境变量。如果
操作系统不支持大页面或系统上没有配置大页面,那么 IFX_LARGE_PAGES 的设置对
GBase 8s 没有影响。

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 172 -
您可以指定 1 或 0 设置此环境变量。

0 已禁用大页面。这是 AIX 系统上的缺省值。
1 已启用大页面。这是 Solaris 系统上的缺省值。
已启用大页面。这是 Solaris 和 Linux 系统上的缺省值。
DBSA 必须使用操作系统命令来配置大页面。请参阅操作系统文档以获取配置过程。
如果足够的大页面已配置且可用,GBase 8s 可以对物理内存中锁定的非消息共享内
存段使用大页面。RESIDENT 配置参数控制在物理内存中共享内存段是否锁定,以使得
段无法交换。如果没有足够的大页面保存段,段可能包含大页面和常规页面的组合。
在 AIX 上,GBase 8s 使用的大页面的大小为 16 MB。
在 Linux x86_64 上,GBase 8s 使用的大页面由 /proc/meminfo 文件中的
Hugepagesize 条目定义。
GBase 8s 会自动对齐段地址并向上舍入到段大小。除了有关舍入的消息之外,服务
器还会在每次尝试使用大页面存储段时将参考消息写入到服务器日志文件。
启用 IFX_LARGE_PAGES 时,使用大页面可以显著提高大内存配置中的性能。

参数说明:控制数据库是否为只读模式开关。
取值范围:布尔型,有效值有on,off,true,false,yes,no,1,0。参数修改请参考
表GUC 参数设置方式进行设置。
默认值:on