为了我有一个表在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