oracle nvl decode
SELECT
DECODE(列,0,'Q'1,'P',2,'O') AS ret
from dual
--分析: 当 列=0时,将"Q"赋值
--当 列 =1时,将"P"赋值
--当 列=2时,将"O"赋值
--NVL()函数:
--NVL(ARG,VALUE)达标如果前面的ARG值为NULL那么返回的值为后面的VALUE二者结合使用:
DECODE(NVL(变量 ''),'','-','OK')
//分析:
--若 变量 是否为空.若为空赋给空值[NVL函数]
--其次,判断取出的字段是否为空,如果是则赋给'-'
--默认处理是OK。
相关文档:
最近忙于公司的项目开发,很久没有来csdn了。今天无事,上来写点东西。供大家参考,不对的地方还希望大家批评指正。
一下是对oracle数据库表的一些操作语句:
已经建好的表添加字段
alter table Tablename add(column1&nb ......
视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的。视图只有逻辑定义。每次使用的时候, 只是重新执行SQL.
还有一种视图:物化视图(MATERIALIZED VIEW ),也称实体化视图,快照 (8i 以前的说法) ,它是含有数据的,占用 ......
select t.OSUSER,t.STATUS,t.LOGON_TIME from v$session t
select t.OSUSER,t.STATUS,t.LOGON_TIME from v$session t where t.OSUSER='admin'
select t.OSUSER,t.STATUS,t.LOGON_TIME from v$session t where t.OSUSER='liuzhaoqing'
select t.OSUSER,t.STATUS,t.LOGON_TIME from v$session t where t.OSUSER='ymx'
sel ......
1.曾经不小心把开发库的数据库表全部删除,当时吓的要死。结果找到下面的语句恢复到了1个小时之前的数据!很简单。
注意使用管理员登录系统:
select * from 表名 as of timestamp sysdate-1/12 //查询两个小时前的某表数据!既然两小时以前的数据都得到了,继续怎么做,知道了吧。。
如果drop了表,怎么办??见下 ......
查看锁表进程SQL语句1:
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from v$locked_object lo,
dba_objects ......