相关疑难解决方法(0)

选择二进制排序规则,可以区分Sql Server中nvarchar列的'ss'和'ß'

作为默认的SQL_Latin1_General_CP1_CI_ASSQL服务器的排序规则不能区分ssß,我想换一个特定列的排序规则在表中SQL_Latin1_General_CP437_BIN2,如建议在这里.

但是,我不确定这是否通常是一种好的做法.此外,我不确定除以下之外的其他影响:

  • 更改排序顺序:由于我从不对此列上的数据进行排序,因此对我来说可能不是问题.但是,如果您不这么认为,请告诉我.
  • 不区分大小写区分大小写敏感:由于我的应用程序始终以小写形式提供文本,我认为这种改变对我来说也不会成为问题.但是,如果您不这么认为,请告诉我.

我很好奇这个变化的其他主要影响,如果有的话.

此外,我还想知道以下哪一个最适合这种情况:

SQL_Latin1_General_CP437_BIN

描述: Latin1-常规,Unicode数据的二进制排序,SQL Server在代码页437上的排序顺序30用于非Unicode数据


SQL_Latin1_General_CP437_BIN2

描述: Latin1-常规,Unicode数据的二进制代码点比较排序,SQL Server在代码页437上的排序顺序30用于非Unicode数据


SQL_Latin1_General_CP850_BIN

描述: Latin1-常规,Unicode数据的二进制排序,SQL Server在代码页850上的排序顺序40,用于非Unicode数据


SQL_Latin1_General_CP850_BIN2

描述: Latin1-常规,Unicode数据的二进制代码点比较排序,SQL Server在代码页850上的排序顺序40,用于非Unicode数据

如果您认为其他排序规则更适合此方案,请同时提及这些排序规则.


2017年3月19日更新: 对于提出此问题的任何人:

  • 必须检查@srutzky和@SqlZim的答案,以及相关的引用资源.在这种情况下,你不想急于做事.
  • 由于更改排序规则不适合胆小鬼:P,保留表数据的备份可能会派上用场.
  • 还要检查列的依赖关系,例如索引和约束; 你可能需要删除并创建那些,就像我的情况一样.

玩得开心 :)

t-sql sql-server unicode collation sql-server-2016

11
推荐指数
2
解决办法
3229
查看次数

标签 统计

collation ×1

sql-server ×1

sql-server-2016 ×1

t-sql ×1

unicode ×1