二 第八十九章 SQL命令 WHERE( 八 )

允许指定字符类型的模式 。例如,'1U4L1",".A'(1个大写字母,4个小写字母,一个逗号,后面跟着任意数量的字母字符) 。如果希望返回包含已知字符类型序列的数据值,请使用%PATTERN%PATTERN可以指定已知的文字字符,但在数据值不重要但这些值的字符类型格式重要时特别有用 。
谓词和逻辑操作符可以使用ANDOR逻辑操作符关联多个谓词 。可以使用括号对多个谓词进行分组 。由于IRIS使用已定义的索引和其他优化来优化WHERE子句的执行,因此无法预测andOR逻辑运算符链接的谓词的求值顺序 。因此,指定多个谓词的顺序对性能几乎没有影响 。如果希望严格地从左到右计算谓词,可以使用CASE语句 。
注意:不能使用OR逻辑运算符将引用表字段的FOR SOME %ELEMENT集合谓词与引用另一个表中的字段的谓词关联起来 。例如,
WHERE FOR SOME %ELEMENT(t1.FavoriteColors) (%VALUE='https://www.jinnalai.com/fenxiang/purple')
OR t2.Age < 65
因为这个限制取决于优化器如何使用索引,所以SQL只能在向表添加索引时强制执行这个限制 。强烈建议在所有查询中避免这种类型的逻辑 。

推荐阅读