日期:2014-05-16  浏览次数:20481 次

Oracle百问百答(三)

Oracle百问百答(三)

21.数据库升级后,怎样确定是否升级成功?

select *from dba_registry_history;

22.如何使用 Oracle Round函数 (四舍五入)

描述 :传回一个数值,该数值是按照指定的小数位元数进行四舍五入运算的结果。
SELECT ROUND( number, [ decimal_places ] ) FROM DUAL
参数
:
number :
欲处理之数值

decimal_places : 四舍五入 ,小数取几位 (预设为
0 )
select round(123.456, 0) from dual;         
回传
123
select round(123.456, 1) from dual;         
回传 123.5

23.rownum有什么作用?

对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,而且rownum不能以任何表的名称作为前缀。
 举例说明:
例如表:student(学生)表,表结构为:
ID       char(6)      --学号
name    VARCHAR2(10)   --姓名

create table student (ID char(6), name VARCHAR2(100));
insert into sale values('200001',‘张一
’);
insert into sale values('200002',‘王二
’);
insert into sale values('200003',‘李三
’);
insert into sale values('200004',‘赵四
’);
commit;
(1) rownum 对于等于某值的查询条件

如果希望找到学生表中第一条学生的信息,可以使用rownum=1作为条件。但是想找到学生表中第二条学生的信息,使用rownum=2结果查不到数据。因为rownum都是从1开始,但是1以上的自然数在rownum做等于判断是时认为都是false条件,所以无法查到rownum = n(n>1的自然数)。
SQL> select rownum,id,name from student where rownum=1;(可以用在限制返回记录条数的地方,保证不出错,如:隐式游标)
SQL> select rownum,id,name from student where rownum=1;
    ROWNUM ID     NAME
---------- ------ ---------------------------------------------------
         1 200001
张一
SQL> select rownum,id,name from student where rownum =2;