Страницы

Поиск по вопросам

понедельник, 6 января 2020 г.

Не работает LIKE в SQL-запросе

#sql #sql_server


Есть DropDownlist c отступом:

Все
XXX
 XXX
  XXX
XXX
 XXX    


Запрос:

declare
@name  nvarchar(100) = ' XXX'
begin 
    SET NOCOUNT ON;
SELECT [id]
      ,[name]
  FROM dbo.test 
  where (@name = 'Все' or name Like '%'+@name+'%')
  end    


В таблице есть строка XXX без отступа.
В параметр @name передается значении с пробелами(к примеру '  XXX', ' XXX')
Как сделать чтобы оператор like работал? 
    


Ответы

Ответ 1



Если проблема в пробеле - то проще всего его обрезать: declare @name nvarchar(100) = ' XXX' begin SET NOCOUNT ON; SELECT [id] ,[name] FROM dbo.test where (@name = 'Все' or name Like '%'+RTRIM(LTRIM(@name))+'%') end

Комментариев нет:

Отправить комментарий