Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 like @varchar  [new]
Arl
Member

Откуда:
Сообщений: 90
Добрый день!
Объясните, пожалуйста, почему
так фильтр работает:
select * from table where field like '%filter%'


так фильтр не работает:
declare @variable varchar
set @variable = '%filter%'

select * from table where field like @variable
25 июл 17, 16:57    [20674043]     Ответить | Цитировать Сообщить модератору
 Re: like @varchar  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36695
declare @variable varchar
set @variable = '%filter%'

select @variable 
25 июл 17, 16:59    [20674053]     Ответить | Цитировать Сообщить модератору
 Re: like @varchar  [new]
Konst_One
Member

Откуда:
Сообщений: 11512
declare @v varchar(100) = 'test';
declare @t table(n varchar(100));
insert into @t(n) values ('one'), ('my test'), ('testing')
select t.n from @t t where t.n like '%' + @v + '%'
25 июл 17, 17:03    [20674069]     Ответить | Цитировать Сообщить модератору
 Re: like @varchar  [new]
Arl
Member

Откуда:
Сообщений: 90
Гавриленко Сергей Алексеевич,

ms
SET @local_variable (Transact-SQL)

Устанавливает указанную локальную переменную, предварительно созданную с помощью инструкции DECLARE @local_variable, в указанное значение.

ms
SELECT @local_variable (Transact-SQL)

Указывает на то, что заданной локальной переменной, созданной при помощи инструкции DECLARE @local_variable, должно быть присвоено значение указанного выражения.
Для присваивания переменным значений рекомендуется использовать инструкцию SET @local_variable вместо SELECT @local_variable. Дополнительные сведения см. в разделе SET @local_variable.
25 июл 17, 17:04    [20674077]     Ответить | Цитировать Сообщить модератору
 Re: like @varchar  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36695
Arl,

К чему эти цитаты из хелпа? Выполните код.
25 июл 17, 17:05    [20674082]     Ответить | Цитировать Сообщить модератору
 Re: like @varchar  [new]
Arl
Member

Откуда:
Сообщений: 90
Konst_One,
Да, так можно, но мне интересно, почему не срабатывает мой вариант?
25 июл 17, 17:06    [20674084]     Ответить | Цитировать Сообщить модератору
 Re: like @varchar  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36695
Arl
Konst_One,
Да, так можно, но мне интересно, почему не срабатывает мой вариант?
/рукалицо
25 июл 17, 17:06    [20674087]     Ответить | Цитировать Сообщить модератору
 Re: like @varchar  [new]
Arl
Member

Откуда:
Сообщений: 90
Гавриленко Сергей Алексеевич,

Извините, если показалось грубым. Я хотел сказать, что в хелпе эти инструкции равнозначны.
25 июл 17, 17:08    [20674094]     Ответить | Цитировать Сообщить модератору
 Re: like @varchar  [new]
Konst_One
Member

Откуда:
Сообщений: 11512
Arl
Konst_One,
Да, так можно, но мне интересно, почему не срабатывает мой вариант?



declare @variable varchar


размерность, Карл
25 июл 17, 17:08    [20674095]     Ответить | Цитировать Сообщить модератору
 Re: like @varchar  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Гавриленко Сергей Алексеевич
Arl
Konst_One,
Да, так можно, но мне интересно, почему не срабатывает мой вариант?
/рукалицо


Выключите счет, они на него лезут

раз хелп даже читет :)
автор
When n is not specified in a data definition or variable declaration statement, the default length is 1.
25 июл 17, 17:09    [20674096]     Ответить | Цитировать Сообщить модератору
 Re: like @varchar  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36695
Arl
Гавриленко Сергей Алексеевич,

Извините, если показалось грубым. Я хотел сказать, что в хелпе эти инструкции равнозначны.
/рукалицо2
Как могут быть равнозначна конструкция присвоения результата и конструкция выода значения переменной в рекордсет?

Сообщение было отредактировано: 25 июл 17, 17:10
25 июл 17, 17:09    [20674100]     Ответить | Цитировать Сообщить модератору
 Re: like @varchar  [new]
Arl
Member

Откуда:
Сообщений: 90
TaPaK,

Понял, спасибо.
/*Полез обратно*/
25 июл 17, 17:11    [20674107]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить