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

Откуда: Москва
Сообщений: 948
IF @name LIKE N' '
BEGIN
RAISERROR ('Name has space : name = [%s]', 16, 1, @name)
RETURN -1
END
14 мар 12, 14:05    [12246255]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите, что проверяет условие?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Проверяет, что Name has space.
14 мар 12, 14:06    [12246258]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите, что проверяет условие?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Хоть и криво.
14 мар 12, 14:06    [12246263]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите, что проверяет условие?  [new]
teCa
Member

Откуда: Москва
Сообщений: 948
Коротко говоря, проверяет есть ли такое имя в базе?
14 мар 12, 14:13    [12246313]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите, что проверяет условие?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31960
teCa
Коротко говоря, проверяет есть ли такое имя в базе?
Нет, является ли имя пробелом.
14 мар 12, 14:15    [12246329]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите, что проверяет условие?  [new]
Glory
Member

Откуда:
Сообщений: 104751
teCa
Коротко говоря, проверяет есть ли такое имя в базе?

Проверяет наличие пробелов в переменной
14 мар 12, 14:16    [12246332]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите, что проверяет условие?  [new]
teCa
Member

Откуда: Москва
Сообщений: 948
Спасибо.

Вот, как я понимаю, часть отвечающая за проверку имени.

declare @reserved_name nvarchar(50)  
declare @reserved_account_id int  
select top 1 @reserved_name = name, @reserved_account_id = account_id from user_name_reserved (nolock) where used = 0 and name = @name  
if not @reserved_name is null  
begin  
 if not @reserved_account_id = @account_id  
 begin  
  RAISERROR ('User name is reserved by other user: name = [%s]', 16, 1, @name)  
  RETURN -1  
 end  
end 


У меня возникает проблема, при проверке создаются имена в разном регистре, например User и USER. Как указать, что регистр не должен учитываться?
14 мар 12, 14:23    [12246393]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите, что проверяет условие?  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
teCa,

указать независимы коллэйшен
либо
UPPER(name) = UPPER(@name )
14 мар 12, 14:26    [12246411]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите, что проверяет условие?  [new]
teCa
Member

Откуда: Москва
Сообщений: 948
А как включить независимый коллэйшен? У меня сейчас селект не возвращает where name='user', но возвращает where name='User'.
14 мар 12, 14:32    [12246462]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите, что проверяет условие?  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
teCa
А как включить независимый коллэйшен? У меня сейчас селект не возвращает where name='user', но возвращает where name='User'.
where name='user' COLLATE Cyrillic_General_CI_AI
Что касается хвостового пробела, то для типа nvarchar(50) это не актуально:
такие пробелы в этом случае не хранятся.
14 мар 12, 15:21    [12246832]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите, что проверяет условие?  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
iap
teCa
А как включить независимый коллэйшен? У меня сейчас селект не возвращает where name='user', но возвращает where name='User'.
where name='user' COLLATE Cyrillic_General_CI_AI
Что касается хвостового пробела, то для типа nvarchar(50) это не актуально:
такие пробелы в этом случае не хранятся.


а куда же они деваются?
14 мар 12, 18:26    [12248458]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить