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

एसक्यूएल में किसी फ़ील्ड में एकाधिक स्ट्रिंग्स या वर्ण कैसे खोजें?

अगर आपके पास multiple patterns है खोज करने के लिए derived table बनाना बेहतर है या temporary table patterns को स्टोर करने के लिए

DECLARE @patterns TABLE  (
pattern VARCHAR(20)
);

INSERT INTO @patterns VALUES ('%$%'), ('%[%]%'), ('%ac cd%');

SELECT a.* FROM table_name a JOIN @patterns p ON (a.Description LIKE p.pattern);

यदि आपके पास तुलना करने के लिए एक से अधिक कॉलम हैं तो बस ON . में एक्सप्रेशन जोड़ें खंड

SELECT a.* FROM table_name a JOIN @patterns p ON (a.Description LIKE p.pattern)
OR (a.Column2 like p.pattern);

अपडेट किया गया:दृश्य का उपयोग करना

CREATE VIEW PatternSearch
AS
 WITH Patterns (Patterns)
  AS
  (
     Select  '%Tool%'
     union all
     Select '%Sale%'
     union all
     Select  '%ac cd%'
  )
   SELECT a.* FROM table_name a JOIN Patterns p ON (a.Description LIKE p.pattern)

GO

परीक्षण नहीं किया गया लेकिन आप ऐसा कर सकते हैं

स्रोत




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर 2008 - नाम कॉलम में विशेष स्थिति में स्ट्रिंग में जोड़ें

  2. IN ऑपरेटर SQL

  3. SQL सर्वर के आधुनिक संस्करण में अपग्रेड करने के लिए परफेक्ट स्टॉर्म

  4. तालिका बनाने पर SQL सर्वर 2008 ट्रिगर

  5. स्थानीय SQL Server 2008 सर्वर से कनेक्ट करने के लिए आप कोल्डफ्यूजन 8 डेटासोर्स को कैसे कॉन्फ़िगर करते हैं?