sql >> Databasteknik >  >> RDS >> Sqlserver

Använder LIKE i sp_executesql

Följande fungerar för mig

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]

Jag tror att problemet måste ligga någon annanstans.

Redigera: Efter din uppdatering måste du använda

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

Som det ser ut söker du efter text som innehåller den faktiska understrängen @name




  1. Finns det ett Spring Batch 3-uppgraderingsskript för MySQL?

  2. Kapslad Infoga i och välj uttalande

  3. Använda regel för att infoga i sekundär tabell automatisk ökningssekvens

  4. Fixar Lås väntetid har överskridits; prova att starta om transaktionen för en Mysql-tabell som har fastnat?