2013-11-15 33 views
5

我一直在閱讀很多排序規則,並嘗試了幾個不同的東西,但我似乎無法得到我想要的結果。SQL Server排序規則以匹配Java不區分大小寫的Unicode比較

我正在尋找不區分大小寫,區分重音的歸類,但在所有「常規」字符後放置所有帶重音符的字符。例如,我想這樣的結果:

  • 「敖方舟」
  • 「艾歐史密斯電氣產品公司」
  • 「AZ維薩里」
  • 「A.ö.BKH聖約翰/蒂羅爾「

Latin1_General_BIN根據需要對待重音符號,但區分大小寫。

Latin1_General_CI_AS,SQL_Latin1_General_CI_AS和Latin1_General_CI_AI所有返回此:

  • 「敖方舟」
  • 「艾歐史密斯電氣產品公司」
  • 「A.ö.BKH聖約翰/提洛爾」
  • 「AZ Vesalius」

有沒有這樣的整理?

+0

Latin1_General_CI_AS給你什麼? –

+0

@ Love2Learn Latin1_General_CI_AS,SQL_Latin1_General_CI_AS和Latin1_General_CI_AI全部給出與上述相同的結果。 – aiguofer

+0

作爲解決方法,您可以通過'UPPER(str)'命令,並使用'Latin1_General_BIN'排序規則([demo](http://sqlfiddle.com/#!6/1e4c7/22))。 – dasblinkenlight

回答

0

對這個問題的簡單回答是「否」 - 沒有按您想要的方式命令字符的排序規則。

排序規則進行編碼管理正確使用爲任何一個語言,如希臘或波蘭,或一個字母,例如 如Latin1_General(由西歐 語言使用的拉丁字母)字符 的規則。

你想要的並不是不合理的,但它並不反映任何已經由當前SQL Server排序規則建模的語言或字母表。

正如@dasblinkenlight所指出的,您可以使用ORDER BY (UPPER(str) collate Latin1_General_BIN)來獲得您描述的訂單。

相關問題