查询Oracle表中的数据个数为奇数个时,自动加一个空白行,返回偶数个数据;如果表中的数据为偶数个时,直接返回偶数的所有行。
要求:
查询Oracle表中的数据个数为奇数个时,自动加一个空白行,返回偶数个数据;如果表中的数据为偶数个时,直接返回偶数的所有行。
一、在数据库中,,新建一个表,如下:
( MONTHS NUMBER ) create table MONTHSNUM( MONTHS NUMBER)二、新增一行数据;
insert into monthsnum values(1);
三、执行SQL:
select * select * from (select aa.*, mod(bb.countnum, 2) numfrom (select a.*, rownum rownum2from (select rownum rownum1, t.monthsfrom monthsnum tunionselect to_number(”) rownum1, to_number(”) monthsfrom dual) a) aa,(select count(*) + 1 countnum from monthsnum t) bborder by aa.rownum2) where rownum 返回结果:
说明:如果数据行数为奇数时,补一个空白行,使其为行数为偶数。
四、再新增一行数据;
insert into monthsnum values(2);
五、再执行第三步的SQL
返回结果:
说明:如果数据行数为偶数时,直接返回数据行的所有数据。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1925074.html