对于在 SQL Server Express 2012 上运行的数据库中的特定列,我需要一个排序规则,其中在比较字符串时 ss 和 ß 不被视为相同。ä 和 ae、ö 和 oe 以及 ü 和 ue 也应分别视为不同。Latin1_General_CI_AS 提供后者,但不区分 ss 和 ß。也就是说,WHERE ThatColumn = 'Fass'
将同时产生Fass
和Faß
。
我会坚持使用 BIN/BIN2,但我需要不区分大小写。如果没有其他方法,我将不得不使用 Latin1_General_BIN/Latin1_General_BIN2 并确保自己的所有内容都是大写或小写。这将意味着更多的工作,因为我还需要能够检索具有适当大小写的版本。
但是,如果有一个排序规则可以满足我的需要,请告诉我。提前致谢!
更新:有关要求的更多信息:数据库包含来自仅支持 ASCII 字符的遗留系统的个人姓名。也就是说,像 Müller 和 Faß 这样的名称存储为 Mueller 和 Fass。在新系统中,用户将具有重命名这些人的功能,例如将“Mueller”重命名为“Müller”。要查找需要重命名的实体,我需要搜索包含例如“Fass”的行。但现在查询也返回“Faß”,这不是我想要的。我仍然需要/想要不区分大小写,因为用户应该能够搜索“fass”并仍然获得“Fass”。
系统还有更多内容,但我可以肯定地说,我需要区分 ss 和 ß、ä 和 ae 等。