SQL CASE语句mutliple GUID =相同的值

mam*_*esh 1 sql

我的案例陈述如下:

CASE id
  WHEN '9FDAC41CBF5ED6E3758' THEN 'Invalid' 
  WHEN '5EBF056B16E7593' THEN 'Invalid' 
  WHEN 'EEDC43399D10F44A19E293BB' THEN 'Invalid'
  WHEN '2322' THEN 'No'
  ELSE 'Yes'
END AS [Test]  
Run Code Online (Sandbox Code Playgroud)

是否可以将3 when子句放在1 when子句中,因为它们基本上返回相同的值?

Jam*_*ill 5

是.见下文.

CASE WHEN [SomeColumn] = '9FDAC41CBF5ED6E3758' 
    OR [SomeColumn] = '5EBF056B16E7593' 
    OR [SomeColumn] = 'EEDC43399D10F44A19E293BB'
THEN 'Invalid'
WHEN '2322' THEN 'No'
ELSE 'Yes'END AS [Test]  
Run Code Online (Sandbox Code Playgroud)

你也可以用 IN

CASE WHEN [SomeColumn] IN('9FDAC41CBF5ED6E3758', '5EBF056B16E7593', 'EEDC43399D10F44A19E293BB')
THEN 'Invalid'
WHEN '2322' THEN 'No'
ELSE 'Yes'END AS [Test]  
Run Code Online (Sandbox Code Playgroud)

  • 也可以使用`[SomeColumn] IN(...)` (2认同)