首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL CASE [Column] WHEN IN ('case1','case2') THEN 'oops‘END?

SQL CASE [Column] WHEN IN ('case1','case2') THEN 'oops‘END?
EN

Stack Overflow用户
提问于 2010-01-05 12:23:02
回答 2查看 61.9K关注 0票数 11

当案例在数组中时,有没有一种方法可以检查它:

代码语言:javascript
复制
SELECT CASE [Option] WHEN IN (1, 3, 99) THEN 'Wrong option' ELSE 'You go!' END
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-05 12:31:39

代码语言:javascript
复制
SELECT CASE WHEN [Option] IN (1, 3, 99) THEN 'Wrong option' ELSE 'You go' END
票数 31
EN

Stack Overflow用户

发布于 2010-01-05 12:38:25

您可以使用CASE WHEN <predicate> THEN <value> ... END选项,而不是CASE <value> WHEN <value> THEN <value> ... END选项。

代码语言:javascript
复制
SELECT CASE WHEN [Option] IN (1, 3, 99) THEN 'Wrong option' ELSE 'You go!' END

..。但是,如果值在表中,则只需执行外连接(和

代码语言:javascript
复制
CASE WHEN t.Value IS NULL THEN 'Not in list' ELSE 'In list' END

,或者

代码语言:javascript
复制
CASE WHEN EXISTS (SELECT * FROM yourTable t WHERE t.value = [Option]) THEN 'Bad' ELSE 'Ok' END

...without a join。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2004147

复制
相关文章

相似问题

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