为什么CASE WHEN在此查询中后退?

时间:2019-03-28 15:42:22

标签: mysql case sql-like

我正在尝试使用CASE WHEN在SQL视图中对多个可能的值进行分组。它可以工作,但是倒退了,我想了解原因。

SELECT DISTINCT 
    name,
    CASE
        WHEN name NOT LIKE '%Value1%' THEN 'Group1'
        WHEN name NOT LIKE '%Value2%' THEN 'Group2'
        WHEN name NOT LIKE '%Value3%' THEN 'Group3'
        ELSE name
    END AS 'filtered name'
FROM sometable;

这实际上给了我所需的输出:

  • 任何包含Value1的内容都放入Group1中
  • 任何包含Value2的内容都放入Group2中
  • 任何包含Value3的内容都放在Group3中
  • 其他所有都保留为当前名称

现在,我希望对这个结果的查询是我目前在“ LIKE”运算符之前没有任何“ NOT”的查询,而且我对此感到很困惑,因为我想了解正在发生的事情。

0 个答案:

没有答案