sybase字符集與排序操作

wenpingblog發表於2011-05-12
什麼是排序順序?
  每種字符集都有一種或多種排序順序,Adaptive Server使用它們儲存資料。排序順序與特定的語言或語言組及特定的字符集聯絡密切,不同的語言對同樣字元的排序是不同的,因此,需要特定語言的排序順序,以便正確地對字元進行排序。另外,排序順序與特定地字符集也密切相關,對於特定字符集可使用的排序順序位於字符集目錄的排序順序定義的檔案中 (.srt檔案)。
排序順序用於
――建立索引
――將資料存入按索引排序的表
――指定order by子句
 
對於不同型別排序順序的解釋
二進位制排序順序:
  對於所有字符集都至少提供一個二進位制排序順序,這一排序順序基於字符集中分配給代表每個字元的程式碼(“二進位制”程式碼)的算數值,適用於每個字符集的前128個字元和亞洲語言。當字符集支援一種以上的語言時,二進位制排序順序將會得出不正確的結果,這時就應該選擇其它排序順序了。
 
字典排序,區分大小寫,區分重音:
  分別對大寫和小寫字母進行排序。字典排序順序識別字母的各種重音形式,並將它們排在相關聯的非重音字母之後。
 
字典排序,不區分大小寫,區分重音:
  按字典順序排序,大寫字母與小寫字母等同,在排序結果中大小寫字母混合使用。對於避免表中名稱的重複條目很有用。
 
字典排序,不區分大小寫,區分重音,具有優先順序:
  在排序時不區分大小寫,在所有其它條件相同時,大寫字母具有高的優先順序(即大寫字母先出現)。

  當order by子句中指定的列與表的聚簇索引鍵值相匹配時,使用這種排序順序可能導致大表效能降低,因此,不建議使用這種排序順序,除非特意要求大寫字母排在小寫字母之前。
 
字典排序,不區分大小寫,不區分重音:
  將加重音格的字母與未加重音格的相關聯字母同等對待,它在排序中混合了重音字元。
 
如此排序!
 
上述內容來自於Sybase官方文件,精確地描述了排序操作中,字符集的相關性問題!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22363020/viewspace-695115/,如需轉載,請註明出處,否則將追究法律責任。

相關文章