--简单循环
网站的建设创新互联公司专注网站定制,经验丰富,不做模板,主营网站定制开发.小程序定制开发,H5页面制作!给你焕然一新的设计体验!已为咖啡厅设计等企业提供专业服务。
declare
c number(3):=1;
begin
loop
if mod(c,7)=0 then
dbms_output.put_line(c);
end if;
c:=c+1;
exit when c100;
end loop;
end;
--FOR循环
begin
for x in (select level from dual where mod(level,7)=0 connect by level=100 ) loop
dbms_output.put_line(x.level);
end loop;
end;
--while
declare
c number(3) := 1;
begin
while c = 100 loop
if mod(c, 7) = 0 then
dbms_output.put_line(c);
end if;
c := c + 1;
end loop;
end;
select (select count(*) as a from...)/(select count(*) as b from...
) from dual
1、基本加减乘车没有什么可说的,只需要注意一点,任何值与null一起运算 ,结果都为null,因为null代表着未知值,与null进行加减乘除运算得到的还是未知值,返回的结果还是null。
select 3+null ,3-null,3*null,3/null from dual --执行结果都是null
2、nvl和nvl2 空值置换函数
以前单独写过 ,这里不说了
3、abs 绝对值函数
select abs(2.1),,abs(-2.1) from dual--执行结果都是2.1
4、ceil 、 floor 这两个也比较简单啦
ceil 只入不舍函数
floor 只舍不入函数
select ceil(-2.6),ceil(2.6), floor(-2.6),floor(2.6) from dual
执行结果依次为 -2 3 -3 2
声明 变量1 ,变量2,变量3
给变量1,2赋值
变量3 =变量1 /变量2
输出变量3
我以前做kpi的时候也遇到这种需求,非要在数据库里算出来
我的解决方案是大量设置视图,把每一种子计算都设为视图,就是说,数据库里会出现大量视图,但是每个计算都是原子计算
什么是整除?如果是5/3那么得数应该是1,你要的是1吧。
直接trunc就可以,如果还要余数,那么就是5%3就可以了。