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

Откуда:
Сообщений: 127
Добрый вечер,

Пытаюсь создать Stored Procedure но не могу осилить LIKE %@LastName%

USE [PlatSys]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[SELECT_FIRST] 

		@LastName nchar(20)

AS
BEGIN
	SET NOCOUNT ON;
SELECT Users.LastName, Users.FirstName, Users.MiddleName, Branch.[Description], Result.[Date], Result.Zayavka
  FROM Result, Users, Branch, Operations
WHERE Users.LastName LIKE '%' + @LastName + '%' and Result.[User]=Users.[KEY] and Result.Branch=Branch.[KEY] and Result.Operation=Operations.[KEY] and Result.Operation=1
END


Я пробовал и так '%@LastName%' . Смотрел на сайте Microsoft там был пример и по нему тоже ничего не вышло.
По части фамилии не ищет, находит строку только если фамилия введена полностью.
7 сен 12, 22:48    [13132913]     Ответить | Цитировать Сообщить модератору
 Re: SLECT Like %%  [new]
Serg_77m
Member

Откуда: Донецк
Сообщений: 237
Полагаю, что здесь:
@LastName nchar(20)
должно быть:
@LastName nvarchar(20)
7 сен 12, 22:52    [13132925]     Ответить | Цитировать Сообщить модератору
 Re: SLECT Like %%  [new]
Dandy777
Member

Откуда:
Сообщений: 127
Serg_77m
Полагаю, что здесь:
@LastName nchar(20)
должно быть:
@LastName nvarchar(20)


Спасибо!!!!! Действительно проблема была в этом. Не могли бы в двух словах новичку сказать почему оно не хотело с nchar работать?
7 сен 12, 22:58    [13132943]     Ответить | Цитировать Сообщить модератору
 Re: SLECT Like %%  [new]
ForWhatPurpose
Guest
Dandy777,
Offtop: а зачем Вам таблица Operations в данной выборке?
7 сен 12, 23:00    [13132948]     Ответить | Цитировать Сообщить модератору
 Re: SLECT Like %%  [new]
_NCHAR_
Guest
Dandy777,
можно и nchar оставить, тогда придется @LastName на rtrim(@LastName) заменить в запросе.
7 сен 12, 23:02    [13132956]     Ответить | Цитировать Сообщить модератору
 Re: SLECT Like %%  [new]
Dandy777
Member

Откуда:
Сообщений: 127
ForWhatPurpose
Dandy777,
Offtop: а зачем Вам таблица Operations в данной выборке?

Нужна, я в запросе забыл прикрутить в SELECT Operations.OperationsName
7 сен 12, 23:05    [13132966]     Ответить | Цитировать Сообщить модератору
 Re: SLECT Like %%  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31442
Dandy777
Не могли бы в двух словах новичку сказать почему оно не хотело с nchar работать?
nchar(20) имеет фиксированный размер в 20 символов, если строка меньше, то дополняется пробелами.
8 сен 12, 10:06    [13133474]     Ответить | Цитировать Сообщить модератору
 Re: SLECT Like %%  [new]
Dandy777
Member

Откуда:
Сообщений: 127
alexeyvg
Dandy777
Не могли бы в двух словах новичку сказать почему оно не хотело с nchar работать?
nchar(20) имеет фиксированный размер в 20 символов, если строка меньше, то дополняется пробелами.



a как тогда nvarchar себя ведет?
9 сен 12, 17:08    [13136544]     Ответить | Цитировать Сообщить модератору
 Re: SLECT Like %%  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
Dandy777
alexeyvg
пропущено...
nchar(20) имеет фиксированный размер в 20 символов, если строка меньше, то дополняется пробелами.



a как тогда nvarchar себя ведет?


а кнопка Ф1 не работает? http://msdn.microsoft.com/ru-ru/library/ms186939.aspx
9 сен 12, 17:35    [13136645]     Ответить | Цитировать Сообщить модератору
 Re: SLECT Like %%  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31442
Dandy777
alexeyvg
пропущено...
nchar(20) имеет фиксированный размер в 20 символов, если строка меньше, то дополняется пробелами.

a как тогда nvarchar себя ведет?
nvarchar не дополняется пробелами, какую строку записали, такая и будет.
Knyazev Alexey
а кнопка Ф1 не работает? http://msdn.microsoft.com/ru-ru/library/ms186939.aspx
Вот именно, хелп нужно читать, а не выбирать типы данных случайно.
9 сен 12, 18:10    [13136769]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить