gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 04:01:26 26 4
gpt4 key购买 nike

对于在 SQL Server Express 2012 上运行的数据库中的特定列,我需要在比较字符串时将 ss 和 ß 视为不同的排序规则。此外,ä 和 ae、ö 和 oe 以及 ü 和 ue 应该分别被认为是不同的。 Latin1_General_CI_AS 提供了后者,但不区分 ss 和 ß。即,WHERE ThatColumn = 'Fass'会同时产生 FassFaß .

我会简单地坚持 BIN/BIN2,但我需要不区分大小写。如果没有其他工作,我将不得不使用 Latin1_General_BIN/Latin1_General_BIN2 并确保自己的所有内容都是大写或小写。这将意味着更多的工作,因为我还需要能够检索具有适当大小写的版本。

但是,如果有符合我需要的整理,请告诉我。提前致谢!

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

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

最佳答案

归类 SQL_Latin1_General_CP1_CI_AS 认为 'ss' 与 'ß' 不同,因此它可能对您有用。这是一个遗留的归类,因此它可能会导致与操作系统和应用程序平台的不兼容。它可能还有其他我不知道的怪癖。

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

关于sql-server - 需要不区分大小写的排序规则,其中 ss != ß,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10351796/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com