hibernate对oracle的文本字段按拼音排序
2010-12-06 15:53
246 查看
Oracle针对简体中文提供三种排序方法,主要是“拼音”、“部首”和“笔画数”,在使用设置NLS_SORT参数值就可使用不同的排序规则。
标准sql语句使用方法:
1、sql使用方法
按照笔划排序
select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_STROKE_M');
按照部首排序
select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_RADICAL_M');
按照拼音排序,此为系统的默认排序方式
select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');
2、hql使用方法
在hibernate中除了设置session级nls_sort参数和修改系统参数来实现外,也可以在hql像sql一样的方法来使用
from dept order by nlssort(dept.name,'NLS_SORT=SCHINESE_PINYIN_M');
注意:这样使用的后果就是你的数据库必须是oracle,使用的数据库的可移植性。但对于已有程序进行打补丁的修改还是很有效的,即不影响已有的程序,又可以实现按指定排序规则排序。
标准sql语句使用方法:
1、sql使用方法
按照笔划排序
select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_STROKE_M');
按照部首排序
select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_RADICAL_M');
按照拼音排序,此为系统的默认排序方式
select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');
2、hql使用方法
在hibernate中除了设置session级nls_sort参数和修改系统参数来实现外,也可以在hql像sql一样的方法来使用
from dept order by nlssort(dept.name,'NLS_SORT=SCHINESE_PINYIN_M');
注意:这样使用的后果就是你的数据库必须是oracle,使用的数据库的可移植性。但对于已有程序进行打补丁的修改还是很有效的,即不影响已有的程序,又可以实现按指定排序规则排序。
相关文章推荐
- Oracle按字段的笔画,部首,拼音的排序方法
- Hibernate 实现Oracle的中文汉字按照拼音排序
- php和mysql采用utf-8编码时实现按照一个文本字段的首字母的拼音顺序进行排序的方法
- Oracle大文本查询 汉字按拼音排序
- oracle 数据库字段按照拼音首字母排序
- oracle 中文字段按首字母拼音排序
- oracle表字段为汉字,依据拼音排序
- Hibernate 实现Oracle的中文汉字按照拼音排序 之延续,通用的查询排序能力。
- mysql中utf8编码的中文字段按拼音排序
- blob字段的Hibernate处理(DB2,Oracle)
- 关于oracle 数据库中字符字段的排序问题
- struts2+Hibernate 读取oracle blob 字段中的图片
- 利用oracle long类型字段,插入大文本
- mysql 中文字段排序( 按拼音首字母排序) 的查询语句
- Hibernate保存Oracle的Clob字段的解决方案
- 按照拼音、部首、笔画排序功能(oracle)
- 解决oracle排序时按照汉字拼音排序不正确的问题
- ORACLE按照拼音,部首,笔画排序
- mysql 中文字段排序( 按拼音首字母排序) 的查询语句
- ORACLE 提取汉字拼音首字母及汉字排序