2011-10-17 57 views
1

我正在處理一個歐洲公司的小列表,它應該按特定順序排序。沒有一個SQL排序我試過做充分的工作...SQL Server整理不按我想要的方式排序

Finnish_Swedish_CI_AS
排序埃,A型和O正確,但認爲是Y和U是相同的。

Latin1_General_CI_AS
排序Y和Ü正確,但認爲A和A是相同的,等等。

我要的是像排序列表:

  • 公司AB,博倫厄
  • 公司AB,斯德哥爾摩
  • 公司AB,Älvsjö(正確與瑞典,但各種各樣的」 ... Alvsjo 「在拉美)
  • 公司OÜ,奧泰佩(正確與拉美,但各種‘公司OY ......’在瑞典)
  • 公司OY,米凱利
  • 公司Ø Y,Saavonlinna

似乎沒有任何特定的排序規則可以做到這一點。我可以以某種方式強制特定的整理/排序特定的列?任何其他提示,以得到這個權利?

+0

是您想要的排序標準嗎?也就是說,他們會以這種方式出現在電話簿中嗎? – gbn

+0

至少這是我的想法,但我不確定是這樣。我對Accent Sensitive的想法也是它會包含所有類型的口音,但顯然不是。 – lovlka

回答

0

您只能對每個操作使用單個歸類。如果你想混合文化,你將不得不存儲用於排序的名稱的標準化版本。

Company OÜ, Otepää的歸一化版本將爲Company OU, Otepää,因此您可以將Ü視爲不是Y

+0

基本上我只是希望通過管理數據庫來解決這個問題,因爲我無法訪問應用程序代碼。一個直接的解決方案是隻使用公司OU進行顯示。 – lovlka

+0

@lovlka:當你對它們進行排序時,你應該創建標準化的值,但這當然不是非常有效。 – Guffa

相關問題