您好,我正在考虑以下事项:
CASE
WHEN xyz.something = 1 THEN 'SOMETEXT'
WHEN xyz.somethingelse = 1 THEN 'SOMEOTHERTEXT'
WHEN xyz.somethingelseagain = 2 THEN 'SOMEOTHERTEXTGOESHERE'
ELSE 'SOMETHING UNKNOWN'
这是否有效地ELSE
介于两者之间WHEN
,即xyz.something = 1
优先于xyz.somethingelse = 1
?
如果不是,这是正确的方法吗?
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'
CASE
表达式从上到下计算,如果没有 WHEN 匹配,则使用 ELSE 。每个 CASE 都需要一个 END。你的第一个表达:类似于:
你的第二个表达:
类似于:
两个表达式的计算结果都是一个字符串。
不确定这是否回答了您的问题,您能否详细说明您要表达的内容?