gpt4 book ai didi

mysql - SQL OR 在 WHEN 内(在 CASE 中)

转载 作者:行者123 更新时间:2023-11-29 08:23:11 25 4
gpt4 key购买 nike

奇怪的是我在网上找不到这个,我需要在 case 语句的 when 子句中使用 OR,例如:

SELECT type,color,brand,CASE type WHEN "foo" OR "BAR" OR "somethingelse" THEN SELECT ... FROM .... WHERE .... > ....;

我只是找不到让它工作的方法,我尝试将它括在括号中:

SELECT type,color,brand,CASE type WHEN ("foo" OR "BAR" OR "somethingelse") THEN SELECT ... FROM .... WHERE .... > ....;

或者在方括号中:

SELECT type,color,brand,CASE type WHEN ["foo" OR "BAR" OR "somethingelse"] THEN SELECT ... FROM .... WHERE .... > ....;

问题是我有更多组选项需要检查,并为每个选项创建一个 WHEN,这将使我的查询变得超长。没什么,有什么建议吗?

最佳答案

case 有两种形式 只有一种可以使用 Or

  1. case x 当 val1 然后 result1 当 val2 然后 result2 else defaultResult end
  2. 当 x = val1 时结果 1 当 y = val2 时结果 2 否则 DefaultResult 结束, 或者,更一般地说:
    case when [boolExp1] then reslt1 当 [boolExp2] then reslt2 else defltReslt end

第二种形式可以使用Or,或任何其他 bool 运算符(我记得除了Exists)

 case when x = val1 or y = val2 or z in (val3, val4, val5) then result1 
else defaultResult end

关于mysql - SQL OR 在 WHEN 内(在 CASE 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18733137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com