Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

PLSQL में अल्पविराम से अलग किए गए पैरामीटर में क्वेरी

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
                 );


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एंटिटी फ्रेमवर्क ओरेकल और एसक्यूएल सर्वर - डेटाबेस स्वतंत्र एप्लिकेशन कैसे बनाएं

  2. ओरेकल पीएल/एसक्यूएल प्रक्रिया को डीडीएल के साथ तत्काल निष्पादित करने के लिए AUTHID CURRENT_USER की आवश्यकता है

  3. Oracle से कनेक्शन एक कंसोल एप्लिकेशन के माध्यम से काम करता है और वेब सेवा के माध्यम से काम नहीं करता है

  4. एसक्यूएल चैलेंज/पहेली:नेस्टेड श्रेणियों को कैसे मर्ज करें?

  5. लेफ्ट जॉइन में अस्पष्टता (केवल ओरेकल?)