有线路表Road 如下
startStake endStake roadCode roadName
22.365 88.000 G899654224 线路名称startStake,endStake为开始桩号,结束桩号,roadCode为线路编号.现在做成
startStake endStake roadCode roadName
22.365 23 G899654224 线路名称
23 24 G899654224 线路名称
.....
87 88 G899654224 线路名称
也就是将开始桩号和结束桩号分成每段1KM的有小数的,向上取整.不用存储过程SQL该怎么写..请大侠们指点
startStake endStake roadCode roadName
22.365 88.000 G899654224 线路名称startStake,endStake为开始桩号,结束桩号,roadCode为线路编号.现在做成
startStake endStake roadCode roadName
22.365 23 G899654224 线路名称
23 24 G899654224 线路名称
.....
87 88 G899654224 线路名称
也就是将开始桩号和结束桩号分成每段1KM的有小数的,向上取整.不用存储过程SQL该怎么写..请大侠们指点
解决方案 »
- Excel连接数据库“隐藏”密码的问题
- TYPE ref_type_name IS REF CURSOR [RETURN return_type]的return_type必须是record类型吗
- 表空间的使用
- ORACLE的错误信息放哪了?
- 怎么用PLSQL Developer 连接远程服务器,
- 奇怪的问题
- 救命!关于oracle数据类型转换的问题!!!
- 请各位unix下的c++高手指点迷津!!!!!!!!!!
- rownum到底有什么用的,要用时不好用
- 新手编程请帮忙 select 字段 into 变量 from .. 当查询的记录没有时出错,有什么办法?
- Oracle 用户权限管理的问题?
- DBLINK创建的奇怪问题。。。
如果查询
select round(startStake + 0.5)from。
如果更改:
update
set startStake = round(startStake + 0.5)
。。
应该是,你试一下
SQL> select * from road;STARTSTAKE ENDSTAKE ROADCODE ROADNAME
---------- ---------- ---------- --------
22.365 30.55 G899654224 road_1 select decode(road.startStake+rn-1,road.startStake,road.startStake,FLOOR(road.startStake+rn-1)) as "Front Number",
decode(sign(road.endStake-road.startStake-rn),1,FLOOR(road.startStake+rn),road.endStake) as "After Number",
roadCode,
roadName
from road,
(
select rownum rn
from all_objects,
road
where rownum <= decode(CEIL(road.endStake) - FLOOR(road.startStake),road.endStake-road.startStake,road.endStake-road.startStake,CEIL(road.endStake) - FLOOR(road.startStake) +1)
)tt
where road.startStake+rn-1<=road.endStake;Front Number After Number ROADCODE ROADNAME
------------ ------------ ---------- --------
22.365 23 G899654224 road_1
23 24 G899654224 road_1
24 25 G899654224 road_1
25 26 G899654224 road_1
26 27 G899654224 road_1
27 28 G899654224 road_1
28 29 G899654224 road_1
29 30 G899654224 road_1
30 30.55 G899654224 road_19 rows selected