嗨,当我使用以下查询时,我试图在一个列名为per_va_first_name的视图上使用排序规则:
SELECT *
FROM person_view
WHERE NLSSORT(per_va_first_name, 'NLS_SORT = FRENCH_AI') = NLSSORT('mickaël', 'NLS_SORT =FRENCH_AI')我知道错误了
ORA-12702: SQL函数中使用的无效NLS参数字符串
我是甲骨文和这个nlssort的新手。有人能帮我指出我的错误吗?同时,我还想使用Hibernate for Java中的排序规则。同样的法式煤焦。
编辑:
当我在sql中使用这些命令时
alter session set nls_sort=French_AI;
alter session set nls_comp=linguistic;在执行此查询时,我将获得所需的输出。
SELECT * FROM v_myuser_search_test_ea4 where per_va_first_name like 'Mickaël%'如何在Hibernate中做到这一点?我是否可以在French_AI中添加“CI”以使其成为“French_AI_CI”
发布于 2014-07-18 09:13:57
根据在01/server.112/e26088/functions113.htm#SQLRF51562上找到的Oracle文档
您可以将查询更改为
SELECT *
FROM person_view
ORDER BY NLSORT(per_va_first_name, 'NLS_SORT = FRENCH_AI_CI')Hibernate应该理解它,但是您已经失去了数据库的可移植性,因为这是Oracle特有的函数。
https://stackoverflow.com/questions/24820218
复制相似问题