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

Sp_executesql . में LIKE का उपयोग करना

निम्नलिखित मेरे लिए काम करता है

declare @name varchar(50)

set @name = 'WAITFOR'


exec sp_executesql 
  N'select * from sys.messages WHERE text  LIKE ''%'' + @name + ''%''', 
  N'@name varchar(50)',
  @[email protected]

मुझे लगता है कि समस्या कहीं और होनी चाहिए।

संपादित करें: आपके अपडेट के बाद आपको उपयोग करने की आवश्यकता है

exec sp_executesql 
  N'SET @name = ''%'' + @name + ''%'';
    SELECT *
    FROM Tbl_Persons WHERE 1 = 1  AND lastname LIKE @name', 
  N'@name nvarchar(50)',
  @[email protected]

जैसा कि यह खड़ा है आप वास्तविक सबस्ट्रिंग वाले पाठ की खोज कर रहे हैं @name




  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. एसक्यूएल सर्वर कनेक्शन स्ट्रिंग में कनेक्ट टाइमआउट क्या है?

  3. रैंड () SQL सर्वर में उदाहरण

  4. फ़ाइल नाम पैरामीटर के साथ बल्क इंसर्ट

  5. SQL सर्वर (T-SQL) में डेटाबेस मेल खाता हटाएं