SELECT * FROM Table1 WHERE
Table1.PRODUCT LIKE ( select regexp_substr(I_PRODUCT,'[^,]+', 1, level) from dual
connect by regexp_substr(I_PRODUCT, '[^,]+', 1, level) is not null);
पसंद करें उपरोक्त क्वेरी में ऑपरेटर विफल हो जाएगा। आपको IN . का उपयोग करने की आवश्यकता है , जिसका आंतरिक रूप से एकाधिक या . के रूप में मूल्यांकन किया जाएगा ।
Table1.PRODUCT IN ( select regexp_substr(I_PRODUCT,'[^,]+', 1, level) from dual
connect by regexp_substr(I_PRODUCT, '[^,]+', 1, level) is not null);
साथ ही, के संबंध में भी सूची में अलग-अलग , मेरे उत्तर पर एक नज़र डालें यहां ।
अपडेट करें
ओपी की टिप्पणियों के आधार पर।
क्वेरी को इस प्रकार संशोधित करें:
WITH str_search AS
(
select regexp_substr(I_PRODUCT,'[^,]+', 1, level) pattern from dual
connect by regexp_substr(I_PRODUCT, '[^,]+', 1, level) is not null
)
SELECT *
FROM Table1
WHERE EXISTS (
SELECT NULL
FROM str_search
WHERE tab.col LIKE pattern
);