Đây là một câu hỏi đơn giản, tôi đã đọc một số chi tiết về việc sử dụng khoản CASE
trong mệnh đề WHERE
, nhưng không thể đưa ra ý tưởng rõ ràng về cách sử dụng nó. Dưới đây là truy vấn mẫu của tôi:Trường hợp Oracle bên trong mệnh đề
1 SELECT * FROM dual
2 WHERE (1 =1)
3 AND (SYSDATE+1 > SYSDATE)
4 AND (30 > 40)
5 AND (25 < 35);
Tôi có quy trình i_value
như tham số. Tôi cần bỏ qua dòng thứ 4 nếu i_value là 'S' và tôi cần bỏ qua dòng thứ 5 nếu i_value là 'T'.
Xin cảm ơn trước.
Điều này sẽ không hoạt động như mong đợi. Bởi vì nếu i_value được chuyển thành 'S', thì dòng thứ 4 trong mã của bạn sẽ kết quả là 0 và điều kiện không thành công. vì vậy, toàn bộ đầu ra sẽ không có. Có một cái nhìn sâu sắc. – ajmalmhd04
Rất tiếc - Tôi đã cập nhật nó để khắc phục sự cố. (Trước đây đã có "VÀ TRƯỜNG HỢP KHI i_value = 'S' THEN 0 ELSE ..." đã thay đổi 0 đến 1 trên cả dòng thứ 4 & thứ 5. –
có giao diện một lần nữa;) – ajmalmhd04