Oracle 开发常见问题
1.数学函数
①绝对值
l S:select abs(-1) value
l O:select abs(-1) value from dual
②取整(大)
l S:select ceiling(-001) value
l O:select ceil(-001) value from dual
③取整(小)
l S:select floor(-001) value
l O:select floor(-001) value from dual
④取整(截取)
l S:select cast(-002 as int) value
l O:select trunc(-002) value from dual
⑤四舍五入
l S:select round(23456,4) value 23460
l O:select round(23456,4) value from dual 2346
⑥e为底的幂
l S:select Exp(1) value l O:select Exp(1) value from dual
⑦取e为底的对数
l S:select log(7182818284590451) value
l O:select ln(7182818284590451) value from dual;
⑧取10为底对数
l S:select log10(10) value
l O:select log(10,10) value from dual;
⑨取平方
l S:select SQUARE(4) value
l O:select power(4,2) value from dual
⑩取平方根 l S:select SQRT(4) value
l O:select SQRT(4) value from dual
求任意数为底的幂
l S:select power(3,4) value
l O:select power(3,4) value from dual
取随机数
l S:select rand() value
l O:select sys.dbms_random.value(0,1) value from dual;
取符号
l S:select sign(-8) value -1
l O:select sign(-8) value from dual -1
2.数值比较
①求集合最大值 l S:select max(value) value from
(select 1 value union
select -2 value union
select 4 value union
&n
相关文档:
第一部分、SQL&PL/SQL
[Q]怎么样查询特殊字符,如通配符%与_
[A]select * from table where name like 'A_%' escape ''
[Q]如何插入单引号到数据库表中
[A]可以用ASCII码处理,其它特殊字符如&也一样,如
insert into t values('i'||chr(39)||'m'); -- chr(39)代表字符'
或者用两个单引号表示一个
or ......
oracle的分析函数over 及开窗函数
一:分析函数over
Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是
对于每个组返回多行,而聚合函数对于每个组只返回一行。
下面通过几个例子来说明其应用。 &nb ......
ROLLUP,是GROUP BY子句的一种扩展,可以为每个分组返回小计记录以及为所有分组返回总计记录。
CUBE,也是GROUP BY子句的一种扩展,可以返回每一个列组合的小计记录,同时在末尾加上总计记录。
在文章的最后附上了相关表和记录创建的脚本。
1、向ROLLUP传递一列
SQL> select division_id,sum(salary)
2  ......
表1:temp1
AA BB CC
1 1 1
1 1 2
1 1 3
表2:temp2
AA BB ......