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

Oracle IN खंड में LIKE का उपयोग करना

यहां क्या उपयोगी होगा LIKE ANY विधेय जैसा कि PostgreSQL में उपलब्ध है

SELECT * 
FROM tbl
WHERE my_col LIKE ANY (ARRAY['%val1%', '%val2%', '%val3%', ...])

दुर्भाग्य से, वह सिंटैक्स Oracle में उपलब्ध नहीं है। आप OR . का उपयोग करके परिमाणित तुलना विधेय का विस्तार कर सकते हैं , हालांकि:

SELECT * 
FROM tbl
WHERE my_col LIKE '%val1%' OR my_col LIKE '%val2%' OR my_col LIKE '%val3%', ...

या वैकल्पिक रूप से, EXISTS . का उपयोग करके एक सेमी जॉइन बनाएं विधेय और एक सहायक सरणी डेटा संरचना (विवरण के लिए यह प्रश्न देखें):

SELECT *
FROM tbl t
WHERE EXISTS (
  SELECT 1
  -- Alternatively, store those values in a temp table:
  FROM TABLE (sys.ora_mining_varchar2_nt('%val1%', '%val2%', '%val3%'/*, ...*/))
  WHERE t.my_col LIKE column_value
)

वास्तविक पूर्ण-पाठ खोज के लिए, आप Oracle पाठ देखना चाहेंगे:http://www.oracle.com/technetwork/database/enterprise-edition/index-098492.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ओरेकल में sdo_geometry से लेट और लॉन्ग कैसे प्राप्त करें?

  2. कर्सर:पिन एस X पर प्रतीक्षा करें

  3. स्टैंडबाय पर लॉगिंग करने में त्रुटि 1033 प्राप्त हुई

  4. ORA-29285 कैसे हल करें:फ़ाइल लिखने में त्रुटि

  5. 12c पदावनत विशेषताएं