Можно ли использовать более одного столбца в одном WHEN
при использовании CASE
в oracle? неНесколько столбцов в одном условии WHEN при использовании CASE в oracle
0
A
ответ
2
Выражение CASE
может использовать более чем один столбец в логике, например,
CASE WHEN col1 > val1 AND col2 > val2 THEN 1 ELSE 0 END
Но CASE
выражения должны возвращение одно значение скаляра.
0
нет вы не можете, но вы можете использовать несколько, когда пункт заявление так:
select
case when .... end col_a,
case when .... end col_b
from
xxxx
0
Конечно, вы можете. Например:
select ...
from emp
where case when bonus is null then salary else salary + bonus end > 4000
Здесь emp
представляет собой таблицу, и bonus
и salary
являются две из столбцов в этой таблице. То же предложение WHERE может быть выражено более просто, но независимо от переформулировки оно будет ссылаться на обе колонки. (И где-то будет какой-то СЛУЧАЙ - NVL и COALESCE - это выражения CASE с другим синтаксисом.)
Точно это то, что сработало для меня ... Большое спасибо за такую подсказку ... Извините, что cann 't upvote ур ответить, поскольку у меня нет достаточной репутации .. :) – GSG