Pergunta

Existe uma maneira de verificar um caso quando está em uma matriz:

SELECT CASE [Option] WHEN IN (1, 3, 99) THEN 'Wrong option' ELSE 'You go!' END
Foi útil?

Solução

SELECT CASE WHEN [Option] IN (1, 3, 99) THEN 'Wrong option' ELSE 'You go' END

Outras dicas

Você pode usar o CASE WHEN <predicate> THEN <value> ... END opção, em vez da CASE <value> WHEN <value> THEN <value> ... END opção.

SELECT CASE WHEN [Option] IN (1, 3, 99) THEN 'Wrong option' ELSE 'You go!' END

... mas se os valores estiverem em uma tabela, você pode simplesmente fazer uma junção externa (e

CASE WHEN t.Value IS NULL THEN 'Not in list' ELSE 'In list' END

, ou

CASE WHEN EXISTS (SELECT * FROM yourTable t WHERE t.value = [Option]) THEN 'Bad' ELSE 'Ok' END

... sem uma junção.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top