返回首页

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

更新日期:2024年09月11日

<=> NULL 值安全等于
语法
a<=>b
表达式说明
这个操作符像“=”操作符一样执行相等比较,但在下面2 种情况下,获得的结
果与“=”不同:
1.
如果所有的操作数都是NULL,那么返回的是1 而不是NULL。
2.
如果有且只有一个操作数是NULL,那么返回的是0 而不是NULL。
示例
示例1:所有操作数为NULL,或部分操作数为NULL。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
646
gbase> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL FROM dual;
+---------+---------------+-------------+
| 1 <=> 1 | NULL <=> NULL | 1 <=> NULL
|
+---------+---------------+-------------+
|
1 |
1 |
0 |
+---------+---------------+-------------+
1 row in set
示例2:=操作符的结果
gbase> SELECT 1 = 1, NULL = NULL, 1 = NULL FROM dual;
+-------+-------------+-----------+
| 1 = 1 | NULL = NULL | 1 = NULL
|
+-------+-------------+-----------+
|
1 |
NULL |
NULL |
+-------+-------------+-----------+
1 row in set

指定字段包围符为“"”
示例
示例中所用的表及数据:
DROP TABLE IF EXISTS cust;
CREATE
TABLE
cust(c_id
INT,
c_name
VARCHAR(20),
c_addr
VARCHAR(100));
INSERT INTO cust VALUES (1, 'xiaoming', 'Tianjin');
INSERT INTO cust VALUES (3, 'qiaorui', 'Hebei');

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1255
INSERT INTO cust VALUES (4, 'tianfei', 'Anhui');
INSERT INTO cust VALUES (2, 'zhangling', 'Hunan');
导出SQL 语句:
gbase>
rmt:SELECT
*
FROM
cust
INTO
OUTFILE
'/home/gbase/temp/cust.txt' FIELDS TERMINATED BY ';' ENCLOSED BY
'"';
Query OK, 4 rows affected
查看导出文件:
$ cat cust.txt
"1";"xiaoming";"Tianjin"
"3";"qiaorui";"Hebei"
"4";"tianfei";"Anhui"
"2";"zhangling";"Hunan"

语法格式
ALTER TABLE [[vc_name.]database_name.]table_name ADD

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1039
GROUPED_DEFINITION ;
GROUPED_DEFINITION:
GROUPED
[grouped_name](column_references)[COMPRESS(<’method’>,)]
表5- 87 参数说明
参数名称


vc_name
vc 名,可选项。
database_name
数据库名,可选项。
table_name
表名
GROUPED
关键字,表示定义的是行存列。
grouped_name
表示行存列的名称,可以指定行存列名称。如果
不指定名称,则默认为后面的column_references
中第一个列的名称,如果该名称重名,则在名称
后面加上“_#”(#为从2 开始的一个数字)。
column_references
行存列中包含的物理列的集合,各列间以“,”分
隔。
COMPRESS(<’method’>,)
为行存列指定压缩算法。具体用法参考压缩章节。
示例
示例1:建表时不创建行存列,使用ALTER TABLE 语句创建行存列。
gbase> DROP TABLE t2;
Query OK, 0 rows affected
gbase> CREATE TABLE t2(a int,b int,c int,d int);
Query OK, 0 rows affected
gbase> ALTER TABLE t2 ADD GROUPED (a,b,c);
Query OK, 0 rows affected
Records: 0
Duplicates: 0
Warnings: 0
gbase> SHOW CREATE TABLE t2 \G
*************************** 1. row ***************************
Table: t2
Create Table: CREATE TABLE "t2" (
"a" int(11) DEFAULT NULL,
"b" int(11) DEFAULT NULL,
"c" int(11) DEFAULT NULL,

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1040
"d" int(11) DEFAULT NULL,
GROUPED "a" ("a","b","c")
)
ENGINE=EXPRESS
DEFAULT
CHARSET=utf8
TABLESPACE='sys_tablespace'
1 row in set (Elapsed: 00:00:00.00)
示例2:建表时创建部分列为行存列,使用ALTER TABLE 语句增加行存列。
gbase> DROP TABLE t2;
Query OK, 0 rows affected
gbase> CREATE TABLE t2(a int,b int,c int,d int, GROUPED a(a,b));
Query OK, 0 rows affected
gbase> ALTER TABLE t2 ADD GROUPED c(c,d);
Query OK, 0 rows affected
Records: 0
Duplicates: 0
Warnings: 0
gbase> SHOW CREATE TABLE t2 \G
*************************** 1. row ***************************
Table: t2
Create Table: CREATE TABLE "t2" (
"a" int(11) DEFAULT NULL,
"b" int(11) DEFAULT NULL,
"c" int(11) DEFAULT NULL,
"d" int(11) DEFAULT NULL,
GROUPED "a" ("a","b"),
GROUPED "c" ("c","d")
)
ENGINE=EXPRESS
DEFAULT
CHARSET=utf8
TABLESPACE='sys_tablespace'
1 row in set (Elapsed: 00:00:00.00)
示例3:使用ALTER TABLE 语句创建行存列,行存列使用压缩语法。
gbase> DROP TABLE t2;
Query OK, 0 rows affected
gbase> CREATE TABLE t2 (a int, b varchar(10),c int ,d int);
Query OK, 0 rows affected
gbase> ALTER TABLE t2 ADD GROUPED c(c,d) COMPRESS('HighZ', 0);
Query OK, 0 rows affected
Records: 0
Duplicates: 0
Warnings: 0
gbase> show create table t2\G
*************************** 1. row ***************************

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1041
Table: t2
Create Table: CREATE TABLE "t2" (
"a" int(11) DEFAULT NULL,
"b" int(11) DEFAULT NULL,
"c" int(11) DEFAULT NULL,
"d" int(11) DEFAULT NULL,
GROUPED "c" ("c","d") COMPRESS('HighZ', 0)
)
ENGINE=EXPRESS
DEFAULT
CHARSET=utf8
TABLESPACE='sys_tablespace'
1 row in set (Elapsed: 00:00:00.00)