查询计划
explain plan for select * from test;
select * from table(dbms_xplan.display());
查看表的索引
SELECT
b.uniqueness, a.index_name, a.table_name, a.column_name
FROM all_ind_columns a, all_indexes b
WHERE a.index_name=b.index_name
AND a.table_name = upper('表名')
ORDER BY a.table_name, a.index_name, a.column_position;
decode 函数
decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)
IF条件=值1THEN
RETURN(返回值1)
ELSIF条件=值2THEN
RETURN(返回值2)
…
#oracle 链接字符串用 ||
select name||decode(name,null,'&','*') from test;
一个没有具体实用性的举例,为什么要举这个例子,因为,if…else相信都可以看懂,但是,不少人可能会理解为“如果name为null,加上&,如果name为* ,后边没东西了,看不懂了“…
真实意思:
查询name,如果name为null,则在后边加上&,如果不为null,加上*
相当于
if(name == null) return "&";
else return name + "*";
接下来再来另一个例子
select name||decode(name,a,'&','b','*') from test;
相当于
if("a".equals(name)) return name + "&";
else if("b".equals(name)) return name + "*";