0
我有一個古怪的問題。我有一個複選框,一個報告表,我想單擊一個複選框或多個複選框來返回結果。在數據庫中,我有一個保存的複選框結果列表,用冒號分隔:Oracle Apex 5 - 複選框列表中where子句不起作用,爲什麼?
除了當我勾選'A'和'C'時,它全部有效。這是數據庫中的第一個也是最後一個結果。我可以單擊A和B或者只是A或者C或C和B,但是當我單擊A和C時它不起作用。
任何線索?
select ...
from ...
where
AND (CASE WHEN :P1_BENEFITS_TAG IS NOT NULL
THEN instr(':'|| UPPER(b.BENEFITS_TAGS)||':',
':'|| UPPER(:P1_BENEFITS_TAG) ||':')
ELSE 1
END) > 0
偉大的邏輯解釋,謝謝。你會如何建議我過去呢?我在撓頭 –
我想你可能需要將'P1_BENEFITS_TAG'中的字符串轉換爲值表('A','C') - 參見[regexp_substr示例](https:// blogs。 oracle.com/aramamoo/how-to-split-comma-separated-string-and-pass-to-in-clause-of-select-statement) –
嗨託尼,感謝您的鏈接。我能夠通過使用regexp_subtr和instr @Tony Andrews以一種混亂的方式解決它 –