CASE возвращает неверный результат в MSSQL2000

fire
Дата: 08.10.2003 13:16:16
подскажите, пожалуйста, почему первый запрос возвращает 0?
как сделать, чтоб он исправился?

select case when 'abc' like 'abc' then 1
else 0 end


select case when 'abc' like 'abc' then 1
when 'abc' like 'abc' then 1
else 0 end

select case when N'abc' like N'abc' then 1
else 0 end

if 'abc' like 'abc' select 1
else select 0
Glory
Дата: 08.10.2003 13:18:27
У меня все четыре запроса возвращают 1

Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
fire
Дата: 08.10.2003 13:23:52
это может быть из-за того, что у нас SP-ки не установлены?
а где их можно достать?
Glory
Дата: 08.10.2003 14:00:35
Как где - на сайте производителя конечно
http://www.microsoft.com/sql/downloads/default.asp
SergSuper
Дата: 08.10.2003 15:55:16
скорее всего где-нубудь а или с русское стоит
Glory
Дата: 08.10.2003 15:58:29
Я запускал пример скопированный прямиком из браузера
brahew
Дата: 08.10.2003 16:01:50
а вы пробелы поставте
select case when 'abc ' like 'abc ' then 1 

else 0 end
Некто
Дата: 08.10.2003 16:02:13
2 SergSuper

С буквами там, кажется, все в порядке. У меня тоже есть сервер без сервис паков. Там:

select b =  case when 'b' like 'b' then 1 else 0 end , u = case when N'b' like N'b' then 1 else 0 end 


-- возвращает:


b u
----------- -----------

0 1
alexeyvg
Дата: 08.10.2003 16:06:13
2fire, Некто
Может, у вас коллэйшн на сервер или на базу юникодный?
Некто
Дата: 08.10.2003 16:17:23
2 alexeyvg
use master 

go
select serverproperty(N'collation')
go

-------------------

Cyrillic_General_CS_AS