sql >> Database teknologi >  >> RDS >> Sqlserver

Bruger LIKE i sp_executesql

Følgende virker for 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]

Jeg tror, ​​problemet må ligge et andet sted.

Rediger: Efter din opdatering skal du bruge

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 står, søger du efter tekst, der indeholder den faktiske understreng @name




  1. Hvordan omdannes hashed og saltet adgangskode?

  2. Sådan gemmer du data, der indeholder anførselstegn i MySQL

  3. InnoDB:duplikerede indekser fundet - er det meget dårligt?

  4. Hvordan dropper man liste over tabel fra et skema i Oracle?