Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Menggunakan LIKE di sp_executesql

Berikut ini berfungsi untuk saya

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]

Saya pikir masalahnya pasti ada di tempat lain.

Sunting: Setelah pembaruan Anda, Anda perlu menggunakan

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

Seperti berdiri Anda sedang mencari teks yang berisi substring sebenarnya @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. Apa perbedaan antara Keamanan Terintegrasi =Benar dan Keamanan Terintegrasi =SSPI?

  2. Cara Menentukan Collation dalam Query di SQL Server (T-SQL)

  3. Bagaimana saya bisa menemukan karakter Unicode/non-ASCII di bidang NTEXT di tabel SQL Server 2005?

  4. Bagaimana cara mendapatkan hasil ekspor dalam format CSV nyata di SQL Server Management Studio?

  5. Kinerja pendekatan yang berbeda untuk data berbasis waktu