返回首页

gbase数据、南大通用产品文档:GBase8a并行技术

更新日期:2024年09月11日

针对数据加载、数据加工和数据查询实现了自动高效的并行处理技术,充
分利用SMP 多核CPU 资源并行处理海量数据。
支持在数据扫描过滤、
JOIN 计算、
group by 聚集、order by 排序、查询结果物化等阶段并行计算。

字符串是多个字符组成的一个字符序列,由单引号“'”包围。
例如:'a string'。
彼此连接在一起的多个用引号括起来的字符串,等同于一个单独的字符串。如下
两行的写法是等同的:
'a string'
'a' ' ' 'string'
在一个字符串中,
确定的序列具有特殊的含义,
每个序列以反斜线符号
“\”
开头,
称为转义字符。GBase 8a MPP Cluster 支持下列转义字符:
表5- 8 字符串转义字符
转义字符


\0
ASCII 0 (NUL)字符。
\'
ASCII 39 单引号“'”字符。
\"
ASCII 34 双引号“"”字符。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
641
转义字符


\b
ASCII 8 退格符。
\n
ASCII 10 换行符。
\r
ASCII 13 回车符。
\t
ASCII 9 制表符(TAB)。
\\
ASCII 92 反斜线“\”字符。
这些符号是大小写敏感的。例如:“\b”被解释为一个退格,但是“\B”被解释
为“B”。
在其它的所有转义字符中,忽略反斜线符号。换句话说,反斜线用来解释转义字
符而不是被转义。
当字符串中包含引号时:
1)字符串用单引号“'”来引用的,该字符串中的单引号“'”字符可以用两
个单引号“''”方式转义。用户也可以继续使用在引号前加一个转义字符“\”
的方式进行转义。
2)字符串是用单引号“'”来引用的,该字符串中的双引号“"”不需要特殊
对待而且不必被重复指定或转义。
示例
示例1:使用单引号“'”包围字符串。
gbase> SELECT 'hello', '"hello"', '""hello""', 'hel''lo', '\'hello' FROM dual;
+-------+---------+-----------+--------+--------+
| hello | "hello" | ""hello"" | hel'lo | 'hello |
+-------+---------+-----------+--------+--------+
| hello | "hello" | ""hello"" | hel'lo | 'hello |
+-------+---------+-----------+--------+--------+
1 row in set
示例2:字符串中存在转义字符“\”。
gbase> SELECT 'This\nIs\nFour\nLines' FROM dual;
+--------------------+
| This
Is
Four
Lines |
+--------------------+
| This
Is
Four
Lines |
+--------------------+
1 row in set
示例3:不存在转义含义时,忽略反斜线符号。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
642
gbase> SELECT 'disappearing\ backslash' FROM dual;
+------------------------+
| disappearing backslash |
+------------------------+
| disappearing backslash |
+------------------------+
1 row in set
如果用户想要把二进制数据插入到BLOB 字段中,
下列字符必须由转义字符表示:
表5- 9 转义字符




NUL
NUL byte (ASCII 0)。需要用“\0”(一个反斜线和一个
ASCII“0”字符)表示。
\
反斜线(ASCII 92)。需要用“\\”表示。
'
单引号(ASCII 39)。需要用“\'”表示。
"
双引号(ASCII 34)。需要用“\"”表示。
示例4:创建的表中productBlob 字段的类型为BLOB,插入的数据中存在转义字
符。
gbase> DROP TABLE IF EXISTS products;
Query OK, 0 rows affected
gbase> CREATE TABLE products (productBlob
BLOB);
Query OK, 0 rows affected
gbase> INSERT INTO products
VALUES('abdcdrf\\ghi\'jklm\"nopqrs\0tuvwxyz');
Query OK, 1 row affected
gbase> SELECT productBlob FROM products;
+---------------------------------+
| productBlob
|
+---------------------------------+
| abdcdrf\ghi'jklm"nopqrs tuvwxyz |
+---------------------------------+
1 row in set
当写代码时,任何一个字符串都有可能包含这些特殊的字符,因此在这些字符作
为SQL 语句中的数据传到GBase 8a MPP Cluster 之前必须进行转义。

............................ - 708 -