Oracle互换总结
Oracle互换总结
1. 多行换成一行
col1 col2 col1 col2
a 1
a 2 转换后 a 1,2,3
a 3
A.
sys_connect_by_path
函数
SELECT NAME, ltrim(MAX(sys_connect_by_path(userid, ',')), ',') userid
from(SELECT NAME, userid,row_number() over(PARTITION BY NAME ORDER BY userid) rn from test) START WITH rn = 1 CONNECT BY rn - 1 = PRIOR rn AND NAME = PRIOR NAME GROUP BY NAME ORDER BY NAME;
B.wmsys.WM_CONCAT函数
select NAME,wmsys.WM_CONCAT(userid) from xj_class group by NAME;
2. 一行换多行
col col
1,2,3 转换后 1
2
3
select substr(subjec
相关文档:
oracle merge into 用法详解
2009-07-31 10:14
Oracle9i引入了MERGE命令,你能够在一个SQL语句中对一个表同时执行inserts和updates操作. MERGE命令从一个或多个数据源中选择行来updating或inserting到一个或多个表.
Oracle 10g中MERGE有如下一些改进:
1、UPDATE或INSERT子句是可选的
2、UPDATE和INSERT子句可以加WHERE ......
概述
虚拟专用数据库 (VPD) 提供了角色和视图无法提供的行级访问控制。对于互联网访问,虚拟专用数据库可以确保在线银行的客户只能看到他们自己的帐户。Web 托管公司可以在同一 Oracle 数据库中维护多个公司的数据,但只允许每个公司查看其自身数据。
在企业内部,虚拟数据库可在应用程序部署方面降低拥有成本。可以在数 ......
何为LOB?
lob为oracle数据库的一个大对象数据类型,可以存储超过4000bytes的字符串,二进制数据,OS文件等大对象信息.最大可存储的容量根oracle的版本和oracle 块大小有关.
有那几种可供选择的LOB类型?
目前ORACLE提供了CLOB,NCLOB,BLOB,BFILE共四种LOB类型,CLOB,NLOB为大字符串类型,NLOB为多语言集字符类型,类似于NV ......
1.获取登陆用户的主机名
select sys_context('userenv','host') from dual;
2.获取登陆用户的IP地址
select sys_context('userenv','ip_address') from dual; ......
第一种:
select * from SOME_TABLE sample(1) where rownum <= 10;
第二种:
select * from (select * from SOME_TABLE order by dbms_random.value) where rownum<=10;
第三种:
select * from (select * from SOME_TABLE order by sys_guid()) where rownum <= 10; ......