2011-03-07 65 views
2

我正在按Varchar2列排序Oracle SQL查詢。但是當我得到結果時,我無法正確理解順序。這是合乎邏輯的順序。先寫低字母?號碼?符號?在這裏,我附上所產生的一個測試的順序:oracle中的varchar2排序如何工作?

select FieldToOrder from MyTable order by FieldToOrder ASC 

FieldToOrder一個VARCHAR2列


FieldToOrder:

「77777777777」 //第一個字符是一個空白空間

「aaas」

「_aad」

「AADD」

「A00004AAAA9999」

「REF11」

「ref22」

「0000000002222」


任何的想法什麼是邏輯順序?謝謝,

回答

3

它取決於您的客戶端上的環境變量NLS_LANG。見this reference on NLS_SORT

+1

默認情況下,它使用二進制表示進行排序,它可以更改爲語言和單語言或多語言的自定義。更多信息: http://download.oracle.com/docs/cd/B28359_01/server.111/b28298/ch5lingsort.htm#insertedID0 – Fgblanch 2011-03-07 12:38:06