返回首页

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

更新日期:2024年09月11日

|
13 | one2
| 2013-09-03 |

安装示例中服务器IP 如下:
服务器1:
IP1:192.168.146.20
IP2:192.168.146.40
服务器2:
IP3:192.168.146.21
IP4:192.168.146.41
 当前集群版本的限制
1、安装包中只对redhat、suse、centos 进行判断,其它系统未做判断,如
果是其它系统,需要手动注释掉相关检查CheckOSType、CheckRpms
2、支持Python 版本2.6、2.7,不支持python3
3、一台物理机上最多只能有一个coor 和一个gcware,并且coor 和gcware
必须是同一个ip

A-G

ascii(string)
描述:参数string 的第一个字符的ASCII 码。
返回值类型:integer
示例:
gbase=# SELECT ascii('xyz');

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
104
ascii
-------
120
(1 row)

bit_length(string)
描述:字符串的位数。
返回值类型:integer
示例:
gbase=# SELECT bit_length('world');
bit_length
------------
40
(1 row)

btrim(string text [, characters text])
描述:从string 开头和结尾删除只包含characters 中字符(缺省是空白)的最长字符串。
返回值类型:text
示例:
gbase=# SELECT btrim('sring' , 'ing');
btrim
-------
sr
(1 row)

char_length(string)或character_length(string)
描述:字符串中的字符个数。
返回值类型:int
示例:
gbase=# SELECT char_length('hello');
char_length
-------------
5

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
105
(1 row)

chr(integer)
描述:给出ASCII 码的字符。
返回值类型:varchar
示例:
gbase=# SELECT chr(65);
chr
-----
A
(1 row)

concat(str1,str2)
描述:将字符串str1 和str2 连接并返回。
数据库SQL 兼容模式设置为MY 的情况下,参数str1 或str2 为NULL 会导致返回结果
为NULL。
返回值类型:varchar
示例:
gbase=# SELECT concat('Hello', ' World!');
concat
--------------
Hello World!
(1 row)
gbase=# SELECT concat('Hello', NULL);
concat
--------
Hello
(1 row)

concat_ws(sep text, str"any" [, str"any" [, ...] ])
描述:以第一个参数为分隔符,链接第二个以后的所有参数。NULL 参数被忽略。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
106
如果第一个参数值是NULL,会导致返回结果为NULL。
如果第一个参数值是空字符串('')
,且数据库SQL 兼容模式设置为A 的情况下,
会导致返回结果为NULL。这是因为A 兼容模式>将''作为NULL 处理,避免此类
行为,可以将数据库SQL 兼容模式改为B、C 或者PG。
返回值类型:text
示例:
gbase=# SELECT concat_ws(',', 'ABCDE', 2, NULL, 22);
concat_ws
------------
ABCDE,2,22
(1 row)

convert(string bytea, src_encoding name, dest_encoding name)
描述:以dest_encoding 指定的目标编码方式转化字符串bytea。src_encoding 指定源编
码方式,在该编码下,string 必须是合法的。
返回值类型:bytea
示例:
gbase=# SELECT convert('text_in_utf8', 'UTF8', 'GBK');
convert
----------------------------
\x746578745f696e5f75746638
(1 row)
如GBK 和LATIN1 之间的转换规则是不存在的,具体转换规则可以通过查看系统表
pg_conversion 获得。
示例:
gbase=# show server_encoding;
server_encoding
-----------------
SQL_ASCII

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
107
(1 row)
gbase=# SELECT convert_from('some text', 'GBK');
convert_from
--------------
some text
(1 row)
gbase=# SELECT convert_to('some text', 'GBK');
convert_to
----------------------
\x736f6d652074657874
(1 row)
db_latin1=# SELECT convert('some text', 'GBK', 'LATIN1');
convert
----------------------
\x736f6d652074657874
(1 row)

convert_from(string bytea, src_encoding name)
描述:以数据库的编码方式转化字符串bytea。
src_encoding 指定源编码方式,在该编码下,string 必须是合法的。
返回值类型:text
示例:
gbase=# SELECT convert_from('text_in_utf8', 'UTF8');
convert_from
--------------
text_in_utf8
(1 row)

convert_to(string text, dest_encoding name)
描述:将字符串转化为dest_encoding 的编码格式。
返回值类型:bytea
示例:
gbase=# SELECT convert_to('some text', 'UTF8');
convert_to
----------------------

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
108
\x736f6d652074657874
(1 row)

decode(string text, format text)
描述:将二进制数据从文本数据中解码。
返回值类型:bytea
示例:
gbase=# SELECT decode('MTIzAAE=', 'base64');
decode
--------------
\x3132330001
(1 row)

encode(data bytea, format text)
描述:将二进制数据编码为文本数据。
返回值类型:text
示例:
gbase=# SELECT encode(E'123\\000\\001', 'base64');
encode
----------
MTIzAAE=
(1 row)
若字符串中存在换行符,如字符串由一个换行符和一个空格组成,在GBase 8c 中
LENGTH 和LENGTHB 的值为2。
对于CHAR(n)类型,
n 是指字符个数。
因此,
对于多字节编码的字符集,
LENGTHB
函数返回的长度可能大于n。
GBase 8c 目前支持多种类型的数据库,目前有4 种,分别是A 类型,B 类型,C 类型
以PG 类型。不指定数据库类型时,默认为A 类型。A 的词法分析器与另外三种不一样,在
A 中空字符串会被当作是NULL。所以,当使用A 类型的数据库时,假如上述字符操作函

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
109
数中有空字符串作为参数,会出现没有输出的情况。例如:
gbase=# SELECT translate('12345','123','');
translate
-----------
(1 row)
这是因为内核在调用相应的函数进行处理前,会判断所输入的参数中是否含有NULL,
假如有,则不会调用相应的函数,因此会没有输出。而在PG 模式下,字符串的处理方式与
postgresql 保持一致,因此不会有上述问题产生。

format(formatstr text [, str"any" [, ...] ])
描述:格式化字符串。
返回值类型:text
示例:
gbase=# SELECT format('Hello %s, %1$s', 'World');
format
--------------------
Hello World, World
(1 row)