ГДЕ СОДЕРЖИТ, не возвращает данных - PullRequest
0 голосов
/ 07 октября 2019

Contains and Like не работает с моей переменной.

Я пытался использовать ключевые слова LIKE и CONTAINS

@ItemSupplied nvarchar (50)
as
begin
    set nocount on;

    SELECT [Name]
    FROM Suppliers
    where CONTAINS(ItemSupplied, @ItemSupplied)
    order by [Name];
end

Я также пытался

@ItemSupplied nvarchar (50)
as
begin
    set nocount on;

    SELECT [Name]
    FROM Suppliers
    where ItemSupplied LIKE @ItemSupplied
    order by [Name];
end

Я тоже хочу получить название поставщиков, которые поставляют определенный товар, хотя они также поставляют и другие предметы.

Ответы [ 2 ]

3 голосов
/ 07 октября 2019

только что проверил это в MSSQL

   DECLARE @ItemSupplied nvarchar (50)

     SELECT [Name]
     FROM Suppliers 
     WHERE ItemSupplied LIKE '%' + LTRIM(RTRIM(@ItemSupplied)) + '%'
     ORDER BY [Name];

2 голосов
/ 07 октября 2019

Если вы хотите использовать like и переменную, вы можете использовать concat для построения правильного шаблона like

 SELECT [Name]
 FROM Suppliers 
 where ItemSupplied LIKE concat('%', @ItemSupplie, '%')
 order by [Name];
...