Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 需要不区分大小写的排序规则,其中ss!=ß;_Sql Server_Collation - Fatal编程技术网

Sql server 需要不区分大小写的排序规则,其中ss!=ß;

Sql server 需要不区分大小写的排序规则,其中ss!=ß;,sql-server,collation,Sql Server,Collation,对于在SQL Server Express 2012上运行的数据库中的特定列,我需要一个排序规则,其中ss和ß在比较字符串时被视为不相同。此外,ä和ae、ö和oe以及ü和ue应分别考虑不同。Latin1_General_CI_AS提供了后者,但ss和ß没有区别。也就是说,其中该列='Fass'将同时产生Fass和Faß 我只会坚持使用BIN/BIN2,但我需要区分大小写。如果没有其他办法,我将不得不使用拉丁文1_General_BIN/拉丁文1_General_BIN2,并确保所有内容都是大写或

对于在SQL Server Express 2012上运行的数据库中的特定列,我需要一个排序规则,其中ss和ß在比较字符串时被视为不相同。此外,ä和ae、ö和oe以及ü和ue应分别考虑不同。Latin1_General_CI_AS提供了后者,但ss和ß没有区别。也就是说,
其中该列='Fass'
将同时产生
Fass
Faß

我只会坚持使用BIN/BIN2,但我需要区分大小写。如果没有其他办法,我将不得不使用拉丁文1_General_BIN/拉丁文1_General_BIN2,并确保所有内容都是大写或小写。这将意味着更多的工作,因为我需要能够检索与适当的套管版本以及

但是如果有我需要的排序规则,请告诉我。提前谢谢

更新: 有关要求的更多信息:数据库包含来自仅支持ASCII字符的旧系统的个人名称。也就是说,像Müller和Faß这样的名字被存储为Mueller和Fass。在新系统中,用户将具有重命名这些人的功能,例如将“Mueller”重命名为“Müller”。要查找需要重命名的实体,我需要搜索包含例如“fas”的行。但现在查询也返回“Faß”,这不是我想要的。我仍然需要/希望不区分大小写,因为用户应该能够搜索“fass”并仍然获得“fass”


该系统还有更多内容,但我可以肯定地说,我需要区分ss和ß、ä和ae等。

排序规则SQL_Latin1_General_CP1_CI_认为“ss”与“ß”不同,因此它可能适合您。这是一个遗留排序规则,因此可能会造成与操作系统和应用程序平台的不兼容。它可能还有其他我不知道的怪癖


几年前,我为一个类似的问题草拟了一个笨拙的解决方案,你可以看看。(单击“变通方法(1)”选项卡。)这种情况下的问题是关于键列的唯一性,而不是字符串比较结果,因此在您的情况下应用它(并比较两列以进行单个字符串比较)可能是不可行的。

这似乎是一个奇怪的要求。有什么原因吗?你能详细说明一下吗?只是ss和ß,还是还有其他需要特殊处理的连接/特殊连接?我已经更新了这个问题。我确实需要能够区分ss和ß。不,对不起,SQL拉丁语通用语言CP1 CI_AS不起作用。我是这样测试的:安德烈,我认为你的测试不够。我怀疑数据库排序规则会自动应用于pastebin示例中的常量字符串,并且不会在列排序规则下进行比较。看这个例子:啊哈!我现在知道你正在使用nvarchar。我认为,指定代码页的SQL排序规则不适合您。如果你必须使用nvarchar,我想你可能会走运。你是对的,使用varchar它是有效的。在这种特殊情况下,我得检查一下我是否能逃脱瓦查尔的惩罚。这个应用程序不会在国际上使用。我会接受这个答案。当然,回归varchar的需求并不是那么大,但它现在对我们来说是可行的。