返回首页

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

更新日期:2024年09月11日

JSON _UNQUOTE(json_value)
函数说明
去除json_value 的双引号并将其中的部分转义符进行转义后,返回处理结果。
AnalyticDB MySQL 版不会判断json_value 的合法性,
即无论json_value 是否符合
JSON 语法都会按上述逻辑进行处理。
输入值类型:VARCHAR 类型。
返回值类型:VARCHAR 类型。
示例:
gbase> SELECT json_unquote('"abc"') from dual ;
+-----------------------+
| json_unquote('"abc"') |
+-----------------------+
| abc
|
+-----------------------+
1 row in set

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
859

log_destination
参数说明:GBase 8c 支持多种方法记录服务器日志,log_destination 的取值为一个逗号
分隔开的列表(如log_destination=“stderr,csvlog”)。
该参数属于SIGHUP 类型参数,请参考表15-1 中对应设置方法进行设置。
取值范围:字符串
有效值为stderr、csvlog、syslog、eventlog。

取值为stderr,表示日志打印到屏幕。

取值为csvlog,表示日志的输出格式为“逗号分隔值”即CSV(Comma Separated
Value)格式。使用csvlog 记录日志的前提是将logging_collector 设置为on,请参
见使用CSV 格式写日志。

取值为syslog,表示通过操作系统的syslog 记录日志。GBase 8c 使用syslog 的
LOCAL0~LOCAL7 记录日志,请参见syslog_facility。使用syslog 记录日志需在
操作系统后台服务配置文件中添加代码:
local0.*
/var/log/gbase
默认值:stderr

解析查询
GBase 8c 提供了函数to_tsquery 和plainto_tsquery 将查询转换为tsquery 数据类型,
to_tsquery 提供比plainto_tsquery 更多的功能,但对其输入要求更严格。

to_tsquery([ config regconfig, ] querytext text) returns tsquery
to_tsquery 从querytext 中创建一个tsquery,
querytext 必须由布尔运算符&
(AND)

|(OR)
和! (NOT)分割的单个token 组成。这些运算符可以用圆括弧分组。换句话说,to_tsquery
输入必须遵循tsquery 输入的通用规则,具体请参见16.3.10 文本搜索类型。不同的是基本
tsquery 以token 表面值作为输入,而to_tsquery 使用指定或默认分词器将每个token 标准化
成词素,并依据分词器丢弃属于停用词的token。例如:
gbase=#SELECT to_tsquery('english', 'The & Fat & Rats'); to_tsquery
---------------
'fat' & 'rat' (1 row)
像在基本tsquery 中的输入一样,weight(s)可以附加到每个词素来限制它只匹配那些有
相同weight(s)的tsvector 词素。比如:

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
637
gbase=#SELECT to_tsquery('english', 'Fat | Rats:AB'); to_tsquery
------------------
'fat' | 'rat':AB (1 row)
同时,*也可以附加到词素来指定前缀匹配:
gbase=#SELECT to_tsquery('supern:*A & star:A*B'); to_tsquery
--------------------------
'supern':*A & 'star':*AB (1 row)
这样的词素将匹配tsquery 中指定字符串和权重的项。
plainto_tsquery([ config regconfig, ] querytext text) returns tsquery
plainto_tsquery将未格式化的文本querytext变换为tsquery。
类似于to_tsvector,
文本

解析并且标准化,然后在存在的词之间插入&(AND)布尔算子。
比如:
gbase=#SELECT plainto_tsquery('english', 'The Fat Rats'); plainto_tsquery
-----------------
'fat' & 'rat' (1 row)
请注意,plainto_tsquery 无法识别布尔运算符、权重标签,或在其输入中的前缀匹配标
签:
gbase=#SELECT plainto_tsquery('english', 'The Fat & Rats:C'); plainto_tsquery
---------------------
'fat' & 'rat' & 'c' (1 row)
在这里,所有输入的标点符号作为空格符号丢弃。