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

Откуда:
Сообщений: 157
есть очень просто запрос
declare @kladr_code char(13)='5900000000000'
set @kladr_code = substring(@kladr_code,0,5)+'%'
select * from KLArea
where KLAreaLevel_id = 3
and Kladr_Code like @kladr_code
результат строк 0

но вот если вместо переменной использовать просто символы
select * from KLArea
where KLAreaLevel_id = 3
and Kladr_Code like '5900%'
выдает то что надо.
Не могу понять логику работы. Вроде ведь одно и тоже значение в условие передаю...
Помоги пожалуйта, а то голова уже вообще ничего не соображает
9 окт 09, 13:21    [7764407]     Ответить | Цитировать Сообщить модератору
 Re: не понятна логика запроса  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
declare @kladr_code char(13)='5900000000000'
select * from KLArea
where KLAreaLevel_id = 3
and Kladr_Code like @kladr_code+'%'
9 окт 09, 13:23    [7764430]     Ответить | Цитировать Сообщить модератору
 Re: не понятна логика запроса  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
declare @kladr_code char(13)
set @kladr_code = '5900000000000'
set @kladr_code = substring(@kladr_code,0,5)+'%'
select '*' + @kladr_code + '*'
go
declare @kladr_code varchar(13)
set @kladr_code = '5900000000000'
set @kladr_code = substring(@kladr_code,0,5)+'%'
select '*' + @kladr_code + '*'
go
найдите одно отличие
9 окт 09, 13:25    [7764443]     Ответить | Цитировать Сообщить модератору
 Re: не понятна логика запроса  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
До кучи:

substring(@kladr_code,0,5)+'%'

Первый символ в строке = 1.
9 окт 09, 13:30    [7764504]     Ответить | Цитировать Сообщить модератору
 Re: не понятна логика запроса  [new]
ecoli
Member

Откуда:
Сообщений: 157
Паганель, спасибо вот как надо )))
declare @kladr_code char(13)='5900000000000'
set @kladr_code = substring(@kladr_code,0,5)
select * from KLArea
where KLAreaLevel_id = 3
and Kladr_Code like rtrim(@kladr_code)+'%'
9 окт 09, 13:37    [7764566]     Ответить | Цитировать Сообщить модератору
 Re: не понятна логика запроса  [new]
ecoli
Member

Откуда:
Сообщений: 157
Точно, pkarklin вот так:
declare @kladr_code char(13)='5900000000000'
set @kladr_code = substring(@kladr_code,0,5)
select * from KLArea
where KLAreaLevel_id = 3
and Kladr_Code like rtrim(@kladr_code)+'%'
9 окт 09, 13:40    [7764590]     Ответить | Цитировать Сообщить модератору
 Re: не понятна логика запроса  [new]
ecoli
Member

Откуда:
Сообщений: 157
declare @kladr_code char(13)='5900000000000'
set @kladr_code = substring(@kladr_code,1,5)
select * from KLArea
where KLAreaLevel_id = 3
and Kladr_Code like rtrim(@kladr_code)+'%'
9 окт 09, 13:47    [7764650]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить