1.关于Union的知识sql
select 11 from dual union select 11 from dual
和数据库
select 11 from dual union all select 11 from dual
有区别,Union的做用是合并查询结果 All保留重复行oracle
2. 关于Order By的知识函数
2.1 select t.*, t.rowid from users t order by 1,2
--按照列号排序
2.2 select t.*, t.rowid from users t order by t.name nulls first
-- 该字段空值排前面
select t.*, t.rowid from users t order by t.name nulls last
-- 该字段空值排后面
2.3 select t.*, t.rowid from users t where t.name in('admin','test2','测试')order by instr('admin,test2,测试',t.name)
--按in顺序排序
2.3.1 select t.*, t.rowid from users t order by instr('admin,test2,测试',t.name) desc
--按in顺序排序 ps:排在最底部 各位能够按需求对 instr里面的值进行调整
3. 关于Base64位数据库加密解密的知识测试
select utl_raw.cast_to_varchar2(utl_encode.base64_decode(utl_raw.cast_to_raw('MTEuMg=='))) as "Base64解码后数据" from dual --解密 结果11.2
select utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(11.2))) from dual -- 加密 结果 MTEuMg==
4. Oracle Mod的用法 取n之内被m整除的数加密
select t.rnum from (SELECT rownum rnum FROM ALL_OBJECTS WHERE ROWNUM <= 10 ) t where mod(t.rnum,3)=0 ; --10之内被3整除的数 结果 3,6,9 select sum(t.rnum) as total_sum from (SELECT rownum rnum FROM ALL_OBJECTS WHERE ROWNUM <= 10 ) t where mod(t.rnum,3)=0 ; --10之内被3整除的数的和 结果 18
5.Oracle Decode的用法spa
select decode(AA,'11','数据是11','22','数据是22','其余数据') as "数据结果" from( select 11 as AA from dual union all select 22 from dual union all select 221 from dual union all select 333 from dual )
6.Oracle 的start with 用法code
select t.* from sys_tree t where t.isdel=1 start with t.code='100' connect by prior t.id = t.pid order by t.orderno --查询全部的子节点 select t.* from sys_tree t where t.isdel=1 start with t.code='100' connect by prior t.pid = t.id order by t.orderno --查询全部的父节点
7.oracle Update Select语句blog
update suppliers a set (supplier_class,status)=(select b.name,b.value from tmptmp1 b where a.code = b.id)
8.oracle行转列之wmsys.WM_CONCAT()方法排序
select t.ID, t.Name from TestTab t;
A2 T10
A3 T12
A2 1sd
A1 123
A1 ssss
A3 1234
咱们经过 10g 所提供的 WMSYS.WM_CONCAT 函数便可以完成 行转列的效果 select t.ID, WMSYS.WM_CONCAT(t.Name) NAME From TestTab t GROUP BY t.ID;