Как используется с параметром не работает правильно - PullRequest
2 голосов
/ 21 августа 2011

Этот скрипт должен выбирать только строки с brickurl = 'http://www.bol.com/something' Но он возвращает почти все 30 строк, даже с полностью другими текстами в нем

DECLARE @urlpart nvarchar
set @urlpart='bol.com'
SET @urlpart = '%'+@urlpart + '%'

SELECT * FROM Brick
WHERE BrickUrl like @urlpart

, написанными без параметра, подобного этому:

SELECT * FROM brick
WHERE BrickUrl like '%bol.com%'

возвращает 6 строк, содержащих bol.com правильно.

Я не могу понять, в чем причина или что я делаю неправильно, вы это видите?

1 Ответ

4 голосов
/ 21 августа 2011

Попробуйте это:

DECLARE @urlpart nvarchar
set @urlpart='bol.com'
SET @urlpart = '%'+@urlpart + '%'
select @urlpart

Результат:

(No column name)
%

, а затем вы должны попробовать это вместо

DECLARE @urlpart nvarchar(128)
set @urlpart='bol.com'
SET @urlpart = '%'+@urlpart + '%'
select @urlpart

Результат;

(No column name)
%bol.com%

Если не указать размер nvarchar, вы получите размер 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...