tôi biết có một 'trường khi-then-else' nhưng nó sẽ kiểm tra chỉ có một điều kiện tại một thời điểm
Những gì bạn đang mô tả là một trường hợp đơn giản. Oracle có hai loại trường hợp: ĐƠN GIẢN và tìm kiếm (xem ở đây để biết thêm http://docs.oracle.com/cd/B19306_01/server.102/b14200/expressions004.htm)
SIMPLE
case A
when 1 then 'foo'
when 2 then 'bar'
else ..
end
tìm kiếm
case
when A=1 and B='A' then 'foo'
when D + C =1 and B !='A' then 'Bar'
else ..
end
có thể bạn muốn sử dụng một trường hợp tìm kiếm. Bạn có thể sử dụng chúng trong PL/SQL hoặc SQL. ví dụ: trong SQL
select ..
from table
where case
when A=1 and B='A' then 'foo'
when D + C =1 and B !='A' then 'Bar'
else ..
end = 'foo'
Báo cáo CASE lồng nhau là một tùy chọn. Tôi không quen thuộc với Oracle để biết nếu có một cách tốt hơn mặc dù. –
Bạn có ý gì bởi _it chỉ kiểm tra một điều kiện tại một time_ Vì câu lệnh case nên giúp..không được sử dụng giải mã nhưng nó chỉ kiểm tra bình đẳng – asifsid88
Xem http://stackoverflow.com/questions/14386881/using-if- else-in-oracle – glh