返回首页

gbase数据、南大通用产品文档:GBase8c排序查询结果

更新日期:2024年09月11日


GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
IX

语法:


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 317 -
-pd 将数据库、
表、
分片分区
(碎片)
和特定 rowid 或 tblspace 号以及逻辑页号作为输入。
在每种情况中,
-pd 会打印页头信息并显示数据库对象
(数据库、
表、
分片、
内部 rowid 或
页号)的指定行,这些数据库对象是以十六进制和 ASCII 格式指定的。不执行任何一致性
检查。
元素
用途
关键注意事项
database
指定要检查其一致性的数据
库名称
语法必须符合 Identifier 段;请参阅
《GBase 8s SQL 指南:语法》
frag_dbs
指定包含想要检查其一致性
的分片的 dbspace 名称
Dbspace 必须存在并包含要检查一致性的分
片。
语法必须符合 Identifier 段;请参阅
《GBase 8s SQL 指南:语法》
frag_part
指定分片分区
对于使用基于表达或循环法分发计划的分片
表,您可以创建多个分区,这些分区在一个
dbspace 内集合了表或索引的页面。该分区
称为分片分区或分片
logical
pagenum
指定用于指示 tblspace 中
的特定页的整数值
值可以表示为无符号整数或以 0x 标识符开
始的十六进制数。
值必须是 0 和 16,777,215(包括 0 和
16,777,215)之间的无符号整数
owner
指定表的所有者
必须指定表的当前所有者。
语法必须符合 Owner Name 段;请参阅
《GBase 8s SQL 指南:语法》
rowid
标识要显示其内容的行的
rowid 。Rowid 是作为
oncheck -pD 输出的一部分进
行显示的。
值必须是 0 和 4,277,659,295(包括 0 和
4,277,659,295)之间的无符号整数。
值可以表示为无符号整数或以 0x 标识符开
始的十六进制数

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 318 -
元素
用途
关键注意事项
table
指定想要检查其一致性的表
的名称
执行实用程序时,表应存在。
语法必须符合 Table Name 段;请参阅
《GBase 8s SQL 指南:语法》
tblspacenum 标识要显示其内容的
tblspace
值必须是 0 和 208,666,624(包括 0 和
208,666,624)之间的无符号整数。
值可以表示为无符号整数或以 0x 标识符开
始的十六进制数

如果指定了内部 rowid(以十六进制值表示),那么该 rowid 映射到特定的页,且打印该
页中的所有行。
如果指定了逻辑页号(以十进制值表示),那么打印具有该逻辑页号的 tblspace 号的所有
行。
如果指定了分片,那么打印该分片中的所有行,带有其 rowid 、转发指针和页类型。
如果指定了表,那么打印该表中的所有行,带有其 rowid 、转发指针和页类型。
如果指定了数据库,那么打印该数据库中所有表的所有行。将会打印存储在数据行中的
TEXT 和 BYTE 列描述符,但不会打印 TEXT 和 BYTE 数据本身。
-pD 选项打印与 -pd 相同的信息。此外,-pD 打印存储在 tblspace 中的 TEXT 和 BYTE
值和存储在 blobspace blobpage 中简单大对象的头信息。以下示例显示了 oncheck -pd 和
oncheck -pD 命令的不同选项:
oncheck -pd stores_demo:customer,frgmnt1
oncheck -pd stores_demo:customer
oncheck -pD stores_demo:customer 0x101
以下示例显示了 oncheck -pD 命令的部分输出:
oncheck -pD multipart:t1 :

TBLspace data check for multipart:t1
Table fragment partition part_1 in DBspace dbs1

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 319 -
page_type rowid length fwd_ptr
HOME 101 24 0
0: 0 0 0 a 47 48 49 20 20 20 20 20 20 20 20 20 ....GHI
16: 20 20 20 20 20 20 20 20
........

LIKE
描述:
判断字符串是否能匹配上LIKE 后的模式字符串。
如果字符串与提供的模式匹配,
则LIKE 表达式返回为真(NOT LIKE 表达式返回假)
,否则返回为假(NOT LIKE 表达式返
回真)

匹配规则:
a.
此操作符只有在它的模式匹配整个串的时候才能成功。
如果要匹配在串内任何位置
的序列,该模式必须以百分号开头和结尾。
b.
下划线(_)代表(匹配)任何单个字符;百分号(%)代表任意串的通配符。
c.
要匹配文本里的下划线或者百分号,在提供的模式里相应字符必须前导逃逸字符。
逃逸字符的作用是禁用元字符的特殊含义,缺省的逃逸字符是反斜线,也可以用
ESCAPE 子句指定一个不同的逃逸字符。
d.
要匹配逃逸字符本身,写两个逃逸字符。
例如要写一个包含反斜线的模式常量,那
你就要在SQL 语句里写两个反斜线。
e.
关键字ILIKE 可以替换LIKE,
区别是LIKE 大小写敏感,
而ILIKE 大小写不敏感。
f.
操作符~~等效于LIKE,操作符~~*等效于ILIKE。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
150

参数standard_conforming_strings 设置为off 时,
在文串常量中的任何反斜线需要被
双写。因此,写一个匹配单个反斜线的模式,实际上在语句需要四个反斜线(可以
用ESCAPE 选择一个不同的逃逸字符,
来避免这种情况,
这样反斜线就不再是LIKE
的特殊字符了。
但仍然是字符文本分析器的特殊字符,
所以仍需要写两个反斜线)


在兼容MYSQL 数据模式时,也可以通过写ESCAPE
''的方式不选择逃逸字符,
这样可以有效地禁用逃逸机制。但是无法关闭下划线和百分号在模式中的特殊含
义。
示例:
gbase=# SELECT 'abc' LIKE 'abc' AS RESULT;
result
-----------
t
(1 row)
gbase=# SELECT 'abc' LIKE 'a%' AS RESULT;
result
-----------
t
(1 row)
gbase=# SELECT 'abc' LIKE '_b_' AS RESULT;
result
-----------
t
(1 row)
gbase=# SELECT 'abc' LIKE 'c' AS RESULT;
result
-----------
f
(1 row)