При сравнении v и w значения совпадают...

lbppb
Дата: 13.02.2013 03:03:23
Все это дело происходит на сервере 2008 R2, где collation: Finnish_Swedish_CI_AI. Оно понятно, что с таким collation v и w одно и тоже, но даже когда я меняю принудительно collation на Latin1_General_CI_AI результат остается тем же. Т.е. вот пример:
select case when 'w' = 'v' then 'true' else 'false' end collate Latin1_General_CI_AI

Результат: true.

Кто-нибудь знает как можно обойти, ну хотя бы в одном конкретном запросе?
Mind
Дата: 13.02.2013 04:02:00
lbppb
Все это дело происходит на сервере 2008 R2, где collation: Finnish_Swedish_CI_AI. Оно понятно, что с таким collation v и w одно и тоже, но даже когда я меняю принудительно collation на Latin1_General_CI_AI результат остается тем же. Т.е. вот пример:
select case when 'w' = 'v' then 'true' else 'false' end collate Latin1_General_CI_AI

Результат: true.

Кто-нибудь знает как можно обойти, ну хотя бы в одном конкретном запросе?
Так вы меняете collation у результата
Bator
Дата: 13.02.2013 04:14:44
lbppb, не совсем понятна необходимость этого сравнения при Finnish_Swedish_CI_AI
попробуй что-нить с использованием строковых функций, типа
select case when ascii('w') = ascii('v') then 'true' else 'false' end
aleks2
Дата: 13.02.2013 05:42:01
Mind
lbppb
Все это дело происходит на сервере 2008 R2, где collation: Finnish_Swedish_CI_AI. Оно понятно, что с таким collation v и w одно и тоже, но даже когда я меняю принудительно collation на Latin1_General_CI_AI результат остается тем же. Т.е. вот пример:
select case when 'w' = 'v' then 'true' else 'false' end collate Latin1_General_CI_AI

Результат: true.

Кто-нибудь знает как можно обойти, ну хотя бы в одном конкретном запросе?
Так вы меняете collation у результата


Ты думаешь, что он понял? Пальцем нада показывать

select case when 'w' = 'v' collate Latin1_General_CI_AI then 'true' else 'false' end 
lbppb
Дата: 13.02.2013 12:04:22
aleks2,

Пальцем, говорят, нельзя, но мне пофиг, ибо помогло. Так что всем спасибо!