oracle怎么初始排序 oracle默认排序是升序还是降序

Oracle中排序如何指定?某些值在最前或最后?

Oracle排序默认的是升序的。

专注于为中小企业提供成都做网站、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业老城免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

oracle对查询结果进行排序时,被排序的栏位存在null值,且要指定NULL值排在最前面或者最后面。

关键字:NullsFirst;NullsLast

默认情况:null默认为最大值(即:asc升序小--大,null值排在最后;desc降序大--小,null值排在最前面)

指定: 

1.OracleOrderby支持的语法 

2.指定Nullsfirst则表示null值的记录将排在最前(不管是asc还是desc) 

3.指定Nullslast则表示null值的记录将排在最后(不管是asc还是desc)

语法举例:(Table:Tab_A有部分空值的栏位Col_A) 

select*fromTab_AorderbyTab_A.Col_A(asc/desc)nullsfirst------null值排在最前面。

select*fromTab_AorderbyTab_A.Col_A(asc/desc)nullslast------null值排在最后面。

其他方法: 

在orderby的时候,用Nvl、NVL2、Decode、case.....when....end;等函数对栏位的null值进行处理 

例如:select*fromTab_AorderbyNVL(Tab_A.Col_A,'abc')(asc/desc);

Oracle中排序的话,一般的升序是从1开始,如何让他从0开始排序呢

假定以上数值的字段名为vnumber

select * from tab order by (vnumber+1)

select (vnumber+1) as xh ,* from tab order by xh

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默认排序是升序还是降序
网页地址:http://scyanting.com/article/hpdspd.html