SQL Server:WHERE子句中具有IN条件的CASE语句

J

我想在以@input作为输入值的存储过程中,在where子句中使用case语句,例如:

SELECT my_column
FROM MY_TABLE
WHERE MY_TABLE.my_column in (CASE WHEN @input = '1' THEN ('A','B','C') ELSE ('A') END)

令人难以置信的是,当我在“ THEN”之后仅放置一个值时,它会起作用:

SELECT my_column
FROM MY_TABLE
WHERE MY_TABLE.my_column in (CASE WHEN @input = '1' THEN ('C') ELSE ('A') END)

我可以将IN条件与CASE上面想要语句一起使用吗?还有另一种方法可以做我想要的吗?

感谢您的帮助,

CLJ

乔治·贝索斯(Giorgos Betsos)

您的第一个查询的问题是CASE仅返回标量值。它不能返回值列表。

相反,您可以简单地使用OR

SELECT  my_column
FROM    MY_TABLE
WHERE   (@input = '1' and MY_TABLE.my_column IN ('A','B','C'))
        OR
        (@input <> '1' and MY_TABLE.my_column = 'A')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WHERE子句中具有多个条件的SQL语句的语法

来自分类Dev

具有2个条件的SQL语句中的WHERE子句

来自分类Dev

WHERE子句中具有多个条件的SQL语句的语法

来自分类Dev

Where 子句中的 SQL Server 条件语句

来自分类Dev

在WHERE子句中具有复杂CASE的T SQL SELECT语句

来自分类Dev

SQL语句where子句中的case语句

来自分类Dev

选择where子句中的SQL Server CASE语句

来自分类Dev

在 SQL Server 的 WHERE 子句中使用 CASE 语句

来自分类Dev

具有 NULL 值的 where 子句中的 SQL Switch/Case

来自分类Dev

SQL查询的WHERE子句中的CASE语句

来自分类Dev

SQL:WHERE子句中的IF / CASE语句

来自分类Dev

在WHERE子句中具有多个条件的SQL UPATE

来自分类Dev

嵌入在In子句中的SQL Server case语句

来自分类Dev

SQL Server上带有IN的WHERE子句中的CASE语法

来自分类Dev

SQL where子句中大于或小于case语句的子句

来自分类Dev

SQL Server:WHERE子句中的IF条件

来自分类Dev

where子句中的SQL Server条件

来自分类Dev

SQL Server:在Where子句中使用Case语句会产生错误

来自分类Dev

为什么在MS SQL Server的Where子句中使用CASE语句

来自分类Dev

SQL在WHERE IN子句中使用CASE语句

来自分类Dev

Where 子句中有两个条件的总和的 SQL 语句错误

来自分类Dev

具有多条件语法的SQL Server CASE语句

来自分类Dev

具有多条件语法的SQL Server CASE语句

来自分类Dev

SQL子句中的条件WHERE

来自分类Dev

SQL:if条件在where子句中

来自分类Dev

SELECT子句中的CASE语句的T-SQL别名在WHERE子句中无法识别

来自分类Dev

SQL:Where子句中的case子句

来自分类Dev

“ WHERE”子句中具有NEWID()的奇数SQL Server(TSQL)查询结果

来自分类Dev

“ WHERE”子句中具有NEWID()的奇数SQL Server(TSQL)查询结果

Related 相关文章

  1. 1

    WHERE子句中具有多个条件的SQL语句的语法

  2. 2

    具有2个条件的SQL语句中的WHERE子句

  3. 3

    WHERE子句中具有多个条件的SQL语句的语法

  4. 4

    Where 子句中的 SQL Server 条件语句

  5. 5

    在WHERE子句中具有复杂CASE的T SQL SELECT语句

  6. 6

    SQL语句where子句中的case语句

  7. 7

    选择where子句中的SQL Server CASE语句

  8. 8

    在 SQL Server 的 WHERE 子句中使用 CASE 语句

  9. 9

    具有 NULL 值的 where 子句中的 SQL Switch/Case

  10. 10

    SQL查询的WHERE子句中的CASE语句

  11. 11

    SQL:WHERE子句中的IF / CASE语句

  12. 12

    在WHERE子句中具有多个条件的SQL UPATE

  13. 13

    嵌入在In子句中的SQL Server case语句

  14. 14

    SQL Server上带有IN的WHERE子句中的CASE语法

  15. 15

    SQL where子句中大于或小于case语句的子句

  16. 16

    SQL Server:WHERE子句中的IF条件

  17. 17

    where子句中的SQL Server条件

  18. 18

    SQL Server:在Where子句中使用Case语句会产生错误

  19. 19

    为什么在MS SQL Server的Where子句中使用CASE语句

  20. 20

    SQL在WHERE IN子句中使用CASE语句

  21. 21

    Where 子句中有两个条件的总和的 SQL 语句错误

  22. 22

    具有多条件语法的SQL Server CASE语句

  23. 23

    具有多条件语法的SQL Server CASE语句

  24. 24

    SQL子句中的条件WHERE

  25. 25

    SQL:if条件在where子句中

  26. 26

    SELECT子句中的CASE语句的T-SQL别名在WHERE子句中无法识别

  27. 27

    SQL:Where子句中的case子句

  28. 28

    “ WHERE”子句中具有NEWID()的奇数SQL Server(TSQL)查询结果

  29. 29

    “ WHERE”子句中具有NEWID()的奇数SQL Server(TSQL)查询结果

热门标签

归档