sql - PROC SQL中WHERE IN子句的下限和上限?
问题描述
如果我首先定义了一个名为“seat_number_list”的座位号宏列表变量,然后我写
<
proc sql number;
select Seat_Number
from my_sas.names_and_wages_list
where Seat_Number in (2, &seat_number_list, 11)
>
这是否意味着它将仅选择从 2 到 11 的座位号,包括我的列表变量中包含的所有座位号)?2 和 11 是选择的下限和上限吗?
解决方案
如果此代码有效(这取决于宏的实际外观),则将2
和11
添加到in
列表中。它们根本不是界限。它们只是附加值。
如果你想要界限,那么使用更像这样的逻辑:
where Seat_Number in (&seat_number_list) or
Seat_Number between 2 and 11
推荐阅读
- c++ - 发布代码的 gdb 堆栈跟踪可读性如何影响 x64?
- c - 试图知道为什么这段代码会导致无限循环
- javascript - 为什么 IIFE 不捕获其范围内的变量?
- sql - 将 nvarchar 值“1000050TPAR”转换为数据类型 int 时转换失败
- jsf - Primefaces 数据表 LazyDataModel 创建新行
- spring-boot - Mockito:在功能接口内监视函数调用?
- php - 运行带有变量 Clob 的函数时出错(PHP、Oracle、Laravel)
- python - 使用 Selenium Python 在 Chrome 中无头导航网站
- reactjs - 反应连接状态
- android - Android 上的 React Native Fetch 不会传递选项