Как сравнить символы по сличению, отличному от сопоставления базы данных по умолчанию? - PullRequest
0 голосов

Подвопрос ответа на другой мой вопрос:

Как лучше сравнить 2 (не N ') символа, используя явное сопоставление, которое отличается от сопоставления базы данных по умолчанию?

Обновление: мне нужно сравнить значения char () или varchar (), которые я извлек из базы данных, и поместить их в переменные @ s1 и @ s2

use dbName;
--here I alternated different db names with different collations

declare @s1 nchar(1)='à'
declare @s2 nchar(1)='a'
select   
  case 
    when @s1 <> @s2 Then 'a is NOT equal à'
    else 'a is equal to à'
  end  
collate latin1_General_CS_AS  

output

  • a равно à (в базе данных с сопоставлением по умолчанию LATIN1_General_CI_AI)
  • a НЕ равно à (в дБ с LATIN1_General_CI_AS

1 Ответ

2 голосов
/ 18 ноября 2010

Вы говорите, как сопоставлять строки «а НЕ равно а» и «а равно а», а не для сравнения:

declare @s1 nchar(1)='à'
declare @s2 nchar(1)='a'
select   
  case 
    when @s1 <> @s2 collate latin1_General_CS_AS Then 'a is NOT equal à'
    else 'a is equal to à'
  end
...