带OR的SQL CASE语句?

use*_*348 2 sql sql-server-2008

说我必须遵循:

Select OrderID = 
    Case OrderID 
        When 1 Then 'Customer1'
        When 2 Then 'Customer2'
        When 3 Then 'Customer2'
        Else 'Unknown Customer'
    End 
From OrdersPlaced
Run Code Online (Sandbox Code Playgroud)

是否可以添加或执行以下操作:

Select OrderID = 
    Case OrderID 
        When 1 Then 'Customer1'
        When 2 Or 3 Then 'Customer2'
        Else 'Unknown Customer'
    End 
From OrdersPlaced
Run Code Online (Sandbox Code Playgroud)

p.s*_*w.g 13

有两种CASE表达形式,"搜索"和"简单".您不能使用OR带有"简单" CASE表达式的表达式,但您可以使用"搜索"表单:

Case  
    When OrderID = 1 Then 'Customer1'
    When OrderID = 2 Or
         OrderID = 3 Then 'Customer2'
    Else 'Unknown Customer'
End 
Run Code Online (Sandbox Code Playgroud)

甚至

Case  
    When OrderID = 1 Then 'Customer1'
    When OrderID IN (2, 3) Then 'Customer2'
    Else 'Unknown Customer'
End 
Run Code Online (Sandbox Code Playgroud)