例如我有如下sql:
select* from test where id>200 and id200 and id<100 order by id desc fetch first 10 rows only,这样返回的是每行的rid标识,其中就包括行的所在页编号。
另外确定表所在的表空间是大型(large)表空间,否则我没有研究过。
具体怎么从hex(rid_bit()) 里面提取页编号好像是和DB2版本以及平台有关。DB2/AIX64 9.7.4版本是把hex(rid_bit())改成SUBSTR( HEX( RID_BIT()),9,8),DB2/NT 10.5.1版本则是SUBSTR( HEX( RID_BIT()),5,8) ,得到的都是页编号的16进制表达。