当前位置:数据库 > Oracle >>

一个oracle sql语句问题

想通过一个表生成一个视图, 表结构:id、times、wartime、tishi、title 1 2011-12-31 30/0/-10 应该去了/到点了/过期了 体检提示 就是根据系统时间和times之间的相差天数,对应wartime中不同的天数提示不同的提示语。
追问:即便是不使用视图,也是要写sql的呀
其他:在这里我个人不推荐你使用视图,生成的视图数据会随时间的变化而变化,一般建立视图都是不经成改变的数据被频繁的查询,这样视图的效率会比select效率高,如果数据是动态改变的,那么和select语句效率是没有区别的。
上边是我个人的意见,仅供参考。 select case when times-sysdate=substr(wartime,1,instr('/',wartime,1)) then substr(tishi,1,instr('/',tishi,1)) when times-sysdate=substr(wartime,instr('/',wartime,1),instr('/',wartime,2)) then substr(tishi,instr('/',tishi,1),instr('/',tishi,2)) when times-sysdate=substr(wartime,instr('/',wartime,2),instr('/',wartime,3)) then substr(tishi,instr('/',tishi,2),instr('/',tishi,3))  end from 表 -----应该是用decode 函数吧 ,假设表名为A
select id,to_char('time','yyyy-mm-dd') time,trunc(time-sysdate) wartime,decode(trunc(time-sysdate),30,'应该去了',0,'到点了',-10,'过期了',null)tishi,'体检提示' title from A 

上一个:在oracle中创建db link 已经确定创建成功了。在创建视图时为什么还会报不能找到db link呢?
下一个:求oracle达人解决一个问题 不知道这个哪错了求帮助

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,