爲了我有一個表在Oracle數據庫這樣甲骨文不同
ID | LABEL
------------
1 | label alpha 1
2 | label alpha 2
3 | label alpha a
當我做了選擇像松鼠這樣的應用程序:
select * FROM MA_TABLE order by LABEL asc
我得到:
ID | LABEL
------------
1 | label alpha 1
2 | label alpha 2
3 | label alpha a
這是很好的!
但是當我執行使用的MyBatis相同的請求:
<select id="selectMaTable" resultMap="resultMap" >
Select * FROM MA_TABLE order by LABEL asc
</select>
我得到:
ID | LABEL
------------
3 | label alpha a
1 | label alpha 1
2 | label alpha 2
字母字符來之前的數字字符......爲什麼?
在此先感謝,
安東尼
PS:我使用org.mybatis:MyBatis的:罐子:3.0.5和com.oracle:ojdbc6:jar:11.2.0.2.0數據庫訪問
編輯: this linked help me a bit also
由於Soulcheck此言,我發現,如果我通過子句ORDER改變ORDER BY NLSSORT(ATL_SIT.ATL_SIT_LIB, 'NLS_SORT = BINARY'),它的工作原理...
有誰知道如何強制NLS_SORT = BINARY了MyBatis? (它已經在NLS_DATABASE_PARAMETERS的我的Oracle數據庫中設置)
這似乎是一個很好的猜測,謝謝!但是我的NLS_LANGUAGE是'AMERICAN',我的'NLS_SORT'是'BINARY'。儘管如此,我試圖改變java程序中的語言環境(FR,EN,...),但結果仍然是一樣的......任何其他想法? – antoine 2012-01-11 15:58:29
使用ORDER BY NLSSORT(LABEL,'NLS_SORT = BINARY')更改ORDER BY語句使它成功!但我不想通過我的程序的請求來改變每一個訂單......也許有人知道一些MyBatis參數有助於改變? – antoine 2012-01-11 17:02:32
@antoine查看我的編輯 – soulcheck 2012-01-11 17:25:07