如何通过与数据库默认排序规则不同的排序规则来比较符号?

时间:2010-11-18 11:42:33

标签: sql sql-server database tsql collation

询问我的另一个问题的答案:

如何更好地使用与默认数据库排序规则不同的排序规则来比较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  

输出

  • a等于à(在具有LATIN1_General_CI_AI默认排序规则的数据库上)
  • a不等于à(在db with LATIN1_General_CI_AS
  • 上)

1 个答案:

答案 0 :(得分:2)

你告诉它如何整理字符串'a不等于à'和'a等于à',而不是用于比较:

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