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

क्या किसी विशिष्ट मान के लिए अल्पविराम से अलग किए गए कॉलम को क्वेरी करना संभव है?

आप LIKE का उपयोग करके कर सकते हैं। आप आंशिक मानों के लिए मिलान नहीं करना चाहते हैं, इसलिए आपको अपनी खोज में अल्पविराम शामिल करना होगा। इसका अर्थ यह भी है कि आपको अपने पाठ के आरंभ या अंत में मानों की खोज करने के लिए एक अतिरिक्त अल्पविराम देना होगा:

select 
  * 
from
  YourTable 
where 
  ',' || CommaSeparatedValueColumn || ',' LIKE '%,SearchValue,%'

लेकिन यह क्वेरी धीमी होगी, जैसा कि LIKE का उपयोग करने वाली सभी क्वेरी, विशेष रूप से एक अग्रणी वाइल्डकार्ड के साथ होगी।

और हमेशा एक जोखिम होता है। यदि मानों के आस-पास रिक्त स्थान हैं, या मानों में स्वयं अल्पविराम हो सकते हैं, जिस स्थिति में वे उद्धरणों से घिरे होते हैं (जैसे csv फ़ाइलों में), तो यह क्वेरी काम नहीं करेगी और आपको अपनी क्वेरी को धीमा करते हुए और भी अधिक तर्क जोड़ने होंगे और भी अधिक।

इन श्रेणियों के लिए एक चाइल्ड टेबल जोड़ना एक बेहतर उपाय होगा। या बल्कि कैटेगरीज के लिए एक अलग टेबल, और एक टेबल जो उन्हें योरटेबल से लिंक करती है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. वेतन से पंक्ति संख्या का चयन करें जहां पंक्ति संख्या =3;

  2. संग्रहीत प्रक्रिया से पैरामीटर पुनर्प्राप्त करें?

  3. Oracle sql में दिनांक कार्यों के साथ कैसे काम करें?

  4. Oracle स्वायत्त लेनदेन उदाहरण

  5. Oracle varchar मान में किसी वर्ण की घटनाओं की संख्या की गणना कैसे करें?