数据库
首页 > 数据库> > 第七章 SQL谓词 %FIND

第七章 SQL谓词 %FIND

作者:互联网

第七章 SQL谓词 %FIND

使用位图块迭代将一个值匹配到一组生成的值。

大纲

scalar-expression %FIND valueset [SIZE ((nn))]

参数

描述

通过选择与值集中指定的值相匹配的数据值,通过迭代位图块序列中的值,%FIND谓词允许筛选结果集。
当标量表达式的值与valueset中的值匹配时,此匹配将成功。
如果值集值不匹配任何标量表达式值,%FIND返回空字符串。
无论显示模式如何,这个匹配总是在逻辑(内部存储)数据值上执行。

%FIND和其他比较条件一样,用于SELECT语句的WHERE子句或HAVING子句中。

%FIND使用抽象的、通过编程指定的匹配值集来过滤字段值。
具体来说,它使用抽象的、编程指定的位图来过滤RowId字段值,其中的值集行为类似于位图索引的下标层。

用户定义类派生自抽象类%SQL.AbstractFind
这个抽象类定义了ContainsItem()布尔方法。
ContainsItem()方法将标量表达式值与值集值匹配。

使用以下三种方法对位图块序列中的值进行迭代:

排序类型

%FIND使用与它匹配的列相同的排序规则类型。
默认情况下,字符串数据类型字段是用SQLUPPER排序规则定义的,它不区分大小写。

SIZE子句

可选的%FIND SIZE子句提供整数nn,它指定valueset中值数量的数量级估计数。
IRIS使用这个数量级估计来确定最佳查询计划。
指定nn为以下文字之一:10100100010000,等等。
因为nn必须在编译时作为常量值可用,所以在所有SQL代码中必须将其指定为文字。
注意,必须为所有SQL指定嵌套括号,嵌入式SQL除外。

%FIND和%INSET比较

标签:匹配,迭代,ContainsItem,图块,谓词,SQL,FIND
来源: https://blog.csdn.net/yaoxin521123/article/details/121760806