返回首页

gbase数据、南大通用产品文档:GBase8a分组操作符()

更新日期:2024年09月11日

例如( hello world ) & (cat | dog) 可将多个查询条件分组查询,然后将查询结果使用
逻辑运算符(或、与、非)连接。
示例

示例1:
查询包括天津或者培训班文字并且不包含“水上”文字的短信条数。
gbase> SELECT COUNT(*) FROM sms WHERE contains(MB_Text, '"天津" | "培训班" - "
水上"');
+----------+
| COUNT(*) |
+----------+
| 5 |
+----------+
1 row in set

示例2:查询同时包含南大和培训班的短信内容。

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 947
gbase> SELECT * FROM sms WHERE contains(MB_Text, '南大 培训班');
+-----------+--------------------------------------------------+
|no | Text |
+-----------+--------------------------------------------------+
|13521015341| 南大开设java 编程培训班,每周五晚上7:00-9:00 上课|
+-----------+--------------------------------------------------+
1 row in set

示例3:查询包含天津或者南大文字并且包括培训班的短信内容。
gbase> SELECT MB_Text FROM sms WHERE contains(MB_Text, '"天津" | "南大" & "培训
班"');
+-------------------------------------------------------------+
| text |
+-------------------------------------------------------------+
| 本小学为6 到12 岁儿童开办语文、数学和英语培训班 |
| 天津大学开设考研培训班,学期3 个月,每周六、日上课,欢迎报名|
+-------------------------------------------------------------+
2 rows in set
跟下面的查询语句结果相同。
gbase> SELECT MB_Text FROM sms WHERE contains(MB_Text, '("天津" | "南大") & "
培训班"');
+--------------------------------------------------------------+
| text |
+--------------------------------------------------------------+
| 南大开设java 编程培训班,每周五晚上7:00-9:00 上课 |
| 天津大学开设考研培训班,学期3 个月,每周六、日上课,欢迎报名 |
+--------------------------------------------------------------+
2 rows in set

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 948

在SQL语句中,布尔表达式允许您在表中指定受声明影响。在过程语句中,布尔表达
式是一个总能返回TURE或FLASE或NULL的表达式。一个简单的布尔表达式可以有布尔
值、常量、变量组成。常见形式如下:
NOT boolean_expression
boolean_expression relational_operator boolean_expression
boolean_expression { AND | OR } boolean_expression
通常,布尔表达式由逻辑运算符AND、OR和NOT连接。布尔表达式总是产生TRUE、
FALSE或NULL。
在这个例子中,循环中的条件是等价的。
DECLARE
done BOOLEAN;
BEGIN

GBase 8s PL/SQL手册
南大通用数据技术股份有限公司
- 36 -

-- These WHILE loops are equivalent
done := FALSE;
WHILE done = FALSE LOOP
done := TRUE;
END LOOP;
done := FALSE;
WHILE NOT (done = TRUE) LOOP
done := TRUE;
END LOOP;
done := FALSE;
WHILE NOT done
LOOP
done := TRUE;
END LOOP;
END;

UDT field count was not set in UDTMetaData
应用程序调用了 UDTManager.createUDTClass(),但是之前没有指定定义此不透明类型的内
部数据结构中的字段数。
调用 UDTMetaData.setFieldCount() 指定字段数。