易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle中对排序的总结

  select * from perexl order by nlssort(danwei,'NLS_SORT=SCHINESE_PINYIN_M');
  -- 按部首排序
  select * from perexl order by nlssort(danwei,'NLS_SORT=SCHINESE_STROKE_M');
  -- 按笔画排序
  select * from perexl order by nlssort(danwei,'NLS_SORT=SCHINESE_RADICAL_M');
  --排序后获取第一行数据
  select * from (select * from perexl order by
nlssort(danwei,'NLS_SORT=SCHINESE_PINYIN_M') )C where rownum=1
  --降序排序
  select * from perexl order by zongrshu desc
  --升序排序
  select * from perexl order by zongrshu asc
  --将nulls始终放在最前
  select * from perexl order by danwei nulls first
  --将nulls始终放在最后
  select * from perexl order by danwei desc nulls last
  --decode函数比nvl函数更强大,同样它也可以将输入参数为空时转换为一特定值
  select * from perexl order by decode(danwei,null,'单位是空', danwei)
  -- 标准的rownum分页查询使用方法
  select *from (select c.*, rownum rn from personnel c)where rn >= 1and rn <= 5
  --在oracle语句rownum对排序分页的解决方案
  --但是如果, 加上order by 姓名 排序则数据显示不正确
  select *from (select c.*, rownum rn from personnel c order by 出生年月)where rn >=
1and rn <= 5
  --解决方法,再加一层查询,则可以解决
  select *from (select rownum rn, t.*from (select 姓名, 出生年月 from personnel order
by 出生年月 desc) t)where rn >= 1and rn <= 5
  --如果要考虑到效率的问题,上面的还可以优化成(主要两者区别)
  select *from (select rownum rn, t.*from (select 姓名,出生年月 from personnel order
by 出生年月 desc) t where rownum <= 10) where rn >= 3
  --nvl函数可以将输入参数为空时转换为一特定值,下面就是当单位为空的时候转换成“单位是空”
  select * from perexl order by nvl(danwei,'单位是空')


相关文档:

oracle PL SQL学习案例(二)

【训练6.1】 使用隐式游标的属性,判断对雇员工资的修改是否成功。
步骤1:输入和运行以下程序:
BEGIN
  UPDATE emp SET sal=sal+100 WHERE empno=1234;
  IF SQL%FOUND THEN
       DBMS_OUTPUT.PUT_LINE('成功修改雇员工资!');
       ......

ORACLE的分区表

•表分区技术是在超大型数据库(VLDB)中将大表及其索引通过分区(patition)的形式分割为若干较小、可管理的小块,并且每一分区可进一步划分为更小的子分区(sub partition)
•通过对表进行分区,可以获得以下的好处
–减少数据损坏的可能性
–各分区可以独立备份和恢复,增强了数据库的可管理性 ......

solaris 10 oracle的安装

请验证一下solaris和oracle的版本信息,如果版本号不对,可能会安装失败
solaris版本:SunOs 5.10
oracle版本: Oracle Database 10g Release 2 (10.2.0.2) for Solaris Operating System (x86)
**如果不知道solaris的版本,可以在命令窗口输入:uname -a
第一步:以ROOT身份登陆系统
第二步:创建用户和组:
#groupadd ......

关于oracle 的行列转换

今天才发现了wmsys.wm_concat这个有趣有用的函数,它的作用是以','链接字符。
例子如下:
SQL> create table idtable (id number,name varchar2(30));
Table created
SQL> insert into idtable values(10,'ab');
1 row inserted
SQL> insert into idtable values(10,'bc');
1 row inserted
SQL> insert ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号