Oracle 多行转列函数
Oracle中使用WMSYS.WM_CONCAT函数进行多行转列
原数据:
rank name
AA NAME1
AA NAME2
AA NAME3
BB NAME4
BB NAME5
SQL>select trim(t.rank) as rank,
wmsys.wm_concat(trim(t.name)) as name
from table_name t
group by t.rank;
实现的效果是:会先按rank分组,将分组后的name以“,”按组合并为一列。
结果如下:
rank name
AA NAME1,NAME2,NAME3
BB NAME4,NAME5
注:默认以“,”字符连接合并后的结果
相关文档:
1.绝对值
S:select abs(-1) value
O:select abs(-1) value from dual
2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
3.取整(小)
S:select floor(-1.001) value
O:select floor(-1.001) value from dual
4.取整(截取)
......
安装
1. 完成RAC安装前的准备工作
1.1 同正常安装Oracle RAC的安装前配置。主要包括以下几个部分:
(1) 软硬件环境检查
(2) 网络配置
(3) 相关用户和目录的创建
(4) 用户环境及系统环境设置
(5) 配置远程访问
(6)  ......
ORACLE日期时间函数大全
TO_DATE格式(以时间:2007-11-02 13:45:25为例)
Year:
yy two digits 两位年   ......
1.建立存放字符串的数组类型
create or replace type Type_bind as table OF VARCHAR2(4000)
2.建立将字符串转成数组然后返回给Type_bind函数。
CREATE OR REPLACE FUNCTION F_PUB_BIND_IN(p_bind IN VARCHAR2)
RETURN TYPE_BIND AS
/*
创建时间:2008-8-26
运行周期 ......
1.曾经不小心把开发库的数据库表全部删除,当时吓的要死。结果找到下面的语句恢复到了1个小时之前的数据!很简单。
注意使用管理员登录系统:
select * from 表名 as of timestamp sysdate-1/12 //查询两个小时前的某表数据!既然两小时以前的数据都得到了,继续怎么做,知道了吧。。
如果drop了表,怎么办??见下 ......