第五十一章 SQL命令 HAVING(二)
In和%INLIST谓词
IN谓词用于将值与一系列非结构化的项进行匹配。
%INLIST谓词是 IRIS扩展,用于将值与列表结构的元素进行匹配。
使用任一谓词,都可以执行相等比较和子查询比较。
在中有两种格式。第一个用作使用与OR运算符链接在一起的多个相等比较的速记。例如:
SELECT Name, Home_State FROM Sample.Person
GROUP BY Home_State
HAVING Home_State IN ('ME','NH','VT','MA','RI','CT')
如果Home_State等于括号列表中的任意值,则计算为TRUE。列表元素可以是常量或表达式。排序规则适用于IN比较,因为它适用于相等性测试。默认情况下,比较使用字段定义的排序规则类型;默认情况下,字符串字段定义为,不区分大小写。
当日期或时间用于IN谓词相等比较时,会自动执行适当的数据类型转换。如果子句字段是类型,则DATE或类型的值将转换为。如果子句字段为类型,则或类型的值将转换为。如果子句字段为TIME类型,则或类型的值将转换为。
下面的示例都执行相同的相等比较并返回相同的数据。 字段指定对于每个成功的相等比较只返回一条记录。 字段的数据类型为:
SELECT Name,DOB FROM Sample.Person
GROUP BY DOB
HAVING DOB IN ({d '2014-01-02'},{d '1990-04-25'})



