oracle如何中文排序,oracle排序sql

oracle按中文的一二三顺序排序

可以做一个函数,输入中文的数字串,输出number型的数字。

员工经过长期磨合与沉淀,具备了协作精神,得以通过团队的力量开发出优质的产品。成都创新互联坚持“专注、创新、易用”的产品理念,因为“专注所以专业、创新互联网站所以易用所以简单”。公司专注于为企业提供成都网站制作、成都网站设计、微信公众号开发、电商网站开发,微信小程序开发,软件按需开发等一站式互联网企业服务。

比如 (这个函数应该不难)

function f_tonumber(str in varchar2) return number

...

然后把这个放到select 的列表中,并用这个函数结果进行排序

select f_tonumber(a.col1),a.*

from tabname a

where ...

order by 1;

oracle里的汉字排序问题

oracle汉字排序

oracle在9i之前是对汉字的排序是按照二进制编码进行排序的,很不适合我们的国情,在oracle9i之后,汉字的排序方式有了以下三种方式:

1、使用拼音排序 NLS_SORT=SCHINESE_PINYIN_M

2、使用笔画排序 NLS_SORT=SCHINESE_STROKE_M 第一顺序笔画,第二顺序部首;

3、使用偏旁部首排序 NLS_SORT=SCHINESE_RADICAL_M 第一顺序部首,第二顺序笔画;

这样,就可以在查询的时候,指定汉字的排序方式,设定方式可以分为以下三个级别:

希望对你有所帮助

oracle怎么排序

Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9i中新增了按照拼音、部首、笔画排序功能。

1、设置NLS_SORT参数值

SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序 SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序 SCHINESE_PINYIN_M 按照拼音排序

2、Session级别的设置,修改ORACLE字段的默认排序方式:

按拼音:alter session set nls_sort = SCHINESE_PINYIN_M;

按笔画:alter session set nls_sort = SCHINESE_STROKE_M;

按偏旁:alter session set nls_sort = NLS_SORT=SCHINESE_RADICAL_M;

3、语句级别设置排序方式:

按照笔划排序 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');

4、修改系统参数(数据库所在操作系统):

set NLS_SORT=SCHINESE_RADICAL_M export NLS_SORT (sh) setenv NLS_SORT SCHINESE_RADICAL_M (csh) HKLC\SOFTWARE\ORACLE\home0\NLS_SORT (win注册表)

oracle中把表的列名建成了中文的,怎么按照该字段排序

Oracle缺省是不能使用中文字段的,要使用中文字段是用双引号引起来的,相比操作英文字段的字段,中文字段必须都使用“”引起来才能使用,英文字段则直接输入字段名即可。

对于操作包含有中文字段的库表,示例如下:testtab(id,name,"地址","年龄","性别",bz)

操作方法:

英文的字段:select * from testtab order by id;

中文的字段:select * from testtab order by "性别";

select id,name,"地址","年龄","性别",bz from testtab order by id,"性别";


分享文章:oracle如何中文排序,oracle排序sql
网站路径:http://ybzwz.com/article/hesigo.html