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
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
|
|