BETWEEN 范围条件
BETWEEN 条件使用关键字 BETWEEN 和 AND 测试表达式是否包含在某个值范围中。
语法
expression [ NOT ] BETWEEN expression AND expression
表达式可以是数字、字符或日期时间数据类型,但它们必须是可兼容的。此范围包含起始值。
示例
第一个示例计算有多少个事务登记了 2、3 或 4 票证的销售:
select count(*) from sales where qtysold between 2 and 4; count -------- 104021 (1 row)
范围条件包含开始和结束值。
select min(dateid), max(dateid) from sales where dateid between 1900 and 1910; min | max -----+----- 1900 | 1910
范围条件中的第一个表达式必须是较小的值,第二个表达式必须是较大的值。在以下示例中,由于表达式的值,将始终返回零行:
select count(*) from sales where qtysold between 4 and 2; count ------- 0 (1 row)
但是,应用 NOT 修饰符将反转逻辑并生成所有行的计数:
select count(*) from sales where qtysold not between 4 and 2; count -------- 172456 (1 row)
以下查询将返回拥有 20000 到 50000 个座位的场馆的列表:
select venueid, venuename, venueseats from venue where venueseats between 20000 and 50000 order by venueseats desc; venueid | venuename | venueseats ---------+-------------------------------+------------ 116 | Busch Stadium | 49660 106 | Rangers BallPark in Arlington | 49115 96 | Oriole Park at Camden Yards | 48876 ... (22 rows)