Hello I am considering the following:
CASE
WHEN xyz.something = 1 THEN 'SOMETEXT'
WHEN xyz.somethingelse = 1 THEN 'SOMEOTHERTEXT'
WHEN xyz.somethingelseagain = 2 THEN 'SOMEOTHERTEXTGOESHERE'
ELSE 'SOMETHING UNKNOWN'
Is this effectively doing a ELSE
in between two WHEN
, ie xyz.something = 1
has priority over xyz.somethingelse = 1
?
If not, is this the right approach?
CASE WHEN xyz.something = 1 THEN 'SOMETEXT' ELSE
CASE WHEN xyz.somethingelse = 1 THEN 'SOMEOTHERTEXT' ELSE
CASE WHEN xyz.somethingelseagain = 2 THEN 'SOMEOTHERTEXTGOESHERE'
ELSE 'SOMETHING UNKNOWN'
Best Answer
The
CASE
expression is evaluated from top to bottom, if no WHEN is matched ELSE is used. You need an END for each CASE. Your first expression:is similar to:
Your second expression:
is similar to:
Both expressions evaluate to one string.
Not sure if this answers your question, can you elaborate on what you are trying to express?