Frage

Gibt es eine Möglichkeit, einen Fall zu überprüfen, wenn er sich in einem Array befindet:

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

Lösung

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

Andere Tipps

Du kannst den ... benutzen CASE WHEN <predicate> THEN <value> ... END Option eher als die CASE <value> WHEN <value> THEN <value> ... END Möglichkeit.

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

... aber wenn sich die Werte in einer Tabelle befinden, könnten Sie einfach eine äußere Verbindung machen (und

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

, oder

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

... ohne Join.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top