Microsoft SQL Server是否支持本地化名称排序?

Microsoft SQL Server是否支持本地化名称排序?,sql,sql-server,sorting,localization,locale,Sql,Sql Server,Sorting,Localization,Locale,我想知道Microsoft SQL Server是否支持基于本地化首选项的排序。我看到他们有一个页面,上面列出了如何根据语言规范比较字符串。但是我注意到英语和荷兰语的比较都使用拉丁语作为 问题是在荷兰,许多人的姓氏都带有字母。因此,我相信当按升序排序时,De Jong的姓会排在Van Beethoven之后 我的理解是Microsoft SQL Server不支持此用例,但我不能100%确定。想知道是否还有其他人有不同的经历。谢谢 没有办法告诉SQL Server文本的某些部分要与其他部分区别对

我想知道Microsoft SQL Server是否支持基于本地化首选项的排序。我看到他们有一个页面,上面列出了如何根据语言规范比较字符串。但是我注意到英语和荷兰语的比较都使用拉丁语作为

问题是在荷兰,许多人的姓氏都带有字母。因此,我相信当按升序排序时,
De Jong
的姓会排在
Van Beethoven
之后


我的理解是Microsoft SQL Server不支持此用例,但我不能100%确定。想知道是否还有其他人有不同的经历。谢谢

没有办法告诉SQL Server文本的某些部分要与其他部分区别对待

SQL Server知道并理解基于字符的排序顺序(排序规则),例如,
e
应该像
e
那样进行排序。但是,如果后面跟着某个词,则千万不要忽略基于单词和/或位置的,如Van

前缀可以有一个以上的单词,例如“Van der”和“Van't”也很常见,而且。因此,按照某种内置规则“正确”地进行操作将是一项非常复杂的工作

您唯一的选择是将前缀(“Tussenvoegsel”)存储在单独的列中


维基百科提到了这一点——同时它也提到,在比利时讲荷兰语的地区,这一点并不常见,所以你甚至需要了解你的受众。

只是为了澄清一下,你希望在排序时它会出现吗?即使区分大小写。在荷兰语中,姓氏前缀(de,van,…)的排序优先级低于Jong,Beethoven等。Marc,你是否在问SQL是否意识到这些差异?我认为答案是否定的。Sterker nog,我认为如果你的数据库中有来自不同背景的名字是不可能的。你会如何对巴勃罗·毕加索的全名“巴勃罗·迭戈·何塞·弗朗西斯科·德·保拉·胡安·内波穆塞诺·马里亚诺·西普里亚诺·德拉桑提尼达德·鲁伊斯和毕加索”进行排序?我猜,按照排序偏好,人们会认为德和凡会被完全忽略。。。这将更有意义,@user1443098所阐述的是一个很好的观点。这类似于规范化名称,但我可以看到,用荷兰语进行解析或将其分开可能很困难。祝您好运,答案是肯定的,SQL Server支持本地化排序。你似乎混淆了
语言排序
,这与
字母数字排序
语言排序完全不同。荷兰的语言是荷兰语,D排在V之前,因此
字母数字排序
(简单的“排序依据”)将遵循此原则。SQL Server根据对比和荷兰(荷兰)的适合对比进行排序
字母数字
为拉丁1_General_CI_AS或拉丁1_General_CS_AS。对于
语言排序
您可以使用
全文搜索
技术。@scsimon是的,我希望“Van Beethoven”排在“De Jong”之前,姓氏前缀的优先级较低。user1443098是的,这就是我要问的,是的,它似乎不受支持,我正在寻找可能在SQL之外实现这一点的库。西蒙:是的,我希望德和凡完全被忽视。