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

विशेष वर्णों के साथ SQL अनुकूलित खोज

मुझे लगता है कि आप अपने KWD पर एक पूर्ण टेक्स्ट इंडेक्स बनाकर इसे आसानी से हल कर सकते हैं कॉलम। फिर आप CONTAINS का उपयोग कर सकते हैं वाक्यांशों की खोज के लिए क्वेरी। पूर्ण पाठ सूचकांक विराम चिह्नों का ध्यान रखता है और अल्पविराम को स्वचालित रूप से अनदेखा करता है।

-- If search text is = Man,Businessman then the query will be
SELECT AS_ID FROM tbl_main
WHERE CONTAINS(KWD, '"Man" AND "Businessman"')

-- If search text is = Man,-Businessman then  the query will be
SELECT AS_ID FROM tbl_main
WHERE CONTAINS(KWD, '"Man" AND NOT "Businessman"')

-- If search text is = woman,girl,-Working  the query will be
SELECT AS_ID FROM tbl_main
WHERE CONTAINS(KWD, '"woman" AND "girl" AND NOT "working"')

एक से अधिक शब्द खोजने के लिए (जैसे mobile phone आपके मामले में) उद्धृत वाक्यांशों का प्रयोग करें:

SELECT AS_ID FROM tbl_main
WHERE CONTAINS(KWD, '"woman" AND "mobile phone"')

जैसा कि नीचे टिप्पणी की गई है, उदाहरण के मामले में खराब खोजों से बचने के लिए उद्धृत वाक्यांश सभी खोजों में महत्वपूर्ण हैं। जब एक खोज शब्द "टैबलेट काम कर रहा है" और केडब्ल्यूडी मान woman,girl,Digital Tablet,working,sitting,online है

एकल - . के लिए एक विशेष मामला है शब्द को खोजें। CONTAINS में पहले शब्द के रूप में NOT का उपयोग नहीं किया जा सकता है। इसलिए, इस तरह की क्वेरी का इस्तेमाल किया जाना चाहिए:

-- If search text is = -Working  the query will be
SELECT AS_ID FROM tbl_main
WHERE NOT CONTAINS(KWD, '"working"')


  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. फ़ाइल सिस्टम में फ़ाइलों के रूप में SQL सर्वर डेटाबेस ऑब्जेक्ट को एक्सपोज़ करना

  3. डेटाटाइमऑफ़सेट हाइबरनेट मैपिंग

  4. SQL में एक शीर्ष स्तरीय अभिभावक ढूँढना

  5. SQL - सर्वर का IP पता प्राप्त करने के लिए क्वेरी