SQL Server Collat​​ion匹配Java不区分大小写的Unicode比较

时间:2013-11-15 19:28:10

标签: java sql sql-server unicode collation

我一直在阅读很多关于校对的内容,并尝试了一些不同的东西,但我似乎无法得到我想要的结果。

我正在寻找一个不区分大小写,区分重音的排序规则,但是在所有“常规”字符之后将所有字符都加上重音符号。例如,我想要一个这样的结果:

  • “a.O.Ark”
  • “A.O.Smith Electrical Products Company”
  • “A.Z.Vesalius”
  • “A.ö.BKHSt。Johann / Tirol”

Latin1_General_BIN以我想要的方式处理重音,但它区分大小写。

Latin1_General_CI_AS,SQL_Latin1_General_CI_AS和Latin1_General_CI_AI都返回:

  • “a.O.Ark”
  • “A.O.Smith Electrical Products Company”
  • “A.ö.BKHSt。Johann / Tirol”
  • “A.Z.Vesalius”

是否有这样的整理?

1 个答案:

答案 0 :(得分:0)

这个问题的简单答案是“不” - 没有按照您想要的方式对字符进行排序的排序规则。

  

归类编码管理正确使用字符的规则   对于某种语言,如希腊语或波兰语,或字母表等   作为Latin1_General(西欧使用的拉丁字母)   语言)。

您想要的并非不合理,但它并不反映任何由当前SQL Server排序规则建模的语言或字母。

如@dasblinkenlight所述,您可以ORDER BY (UPPER(str) collate Latin1_General_BIN)获取您描述的订单。