首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >" in“只能在”哪里“子句中使用?

" in“只能在”哪里“子句中使用?
EN

Stack Overflow用户
提问于 2018-03-19 09:58:47
回答 2查看 77关注 0票数 1

" in“可以在”哪里“以外的其他子句中使用吗?例如,在综合投资框架中:

代码语言:javascript
运行
复制
iif((([Date] IS NOT NULL) AND ([Result] in ('PassedWithHonors', 'Passed')), 'Passed', 'Failed)))

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-19 10:13:11

您可以在任何可以放置布尔表达式的地方放置IN。其中一个地方是WHERE子句,但是布尔表达式几乎可以在查询中的任何位置。例如,在ON子句中(如@jarlh所述),或在SELECTGROUPHAVING子句中(例如) CASEIIF (但仅限于这些函数)。

它甚至可以在IF语句中作为逻辑流操作的一部分。例如:

代码语言:javascript
运行
复制
IF @i IN (1,2) BEGIN
    SELECT TOP 1 * FROM MyTable;
END ELSE IF @i in (3,4) BEGIN
    SELECT TOP 1 * FROM YourTable;
END

所以,正如我在一开始所说的,IN可以去任何你可以放置布尔表达式的地方。

票数 3
EN

Stack Overflow用户

发布于 2018-03-19 10:00:47

试试这个:

代码语言:javascript
运行
复制
case when [Date] IS NOT NULL AND [Result] in ('PassedWithHonors', 'Passed')
     then 'Passed'
     else 'Failed'
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49360112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档