Oracle - 最低的VARCHAR2值

时间:2013-12-26 17:53:54

标签: oracle varchar2

我需要在VARCHAR2的列上查询数据库中的表。 我需要以块的形式检索记录,而不是一次性检索。 ROWNUM用于此目的。

查询是这样的:

select * from SOMETABLE
where SOMECOLUMN > ?
and rownum <= 100
order by SOMECOLUMN

通过更改SOMECOLUMN值重复运行此查询。首先,应该为此查询提供最小VARCAHAR2值,以便获得前100条记录(尽管不是以任何特定顺序)。下次使用第100条记录中的SOMECOLUMN值(为此目的将order by添加到查询中),以便它获得接下来的100条记录,依此类推。

(假设:SOMECOLUMN值是唯一的。)

提供给此查询的初始最小值是多少?

1 个答案:

答案 0 :(得分:1)

您也可以将MIN()MAX()用于VARCHAR2数据,而不仅仅是数字。你可以使用这个:

with t as
   (select SOMETABLE.*, rownum as THE_ROW from SOMETABLE order by SOMECOLUMN)
select *
from t
where THE_ROW between 1 and 100 -- (-> between 101 and 200, between 201 and 300 ...)