Oracle行列转换的一点小总结(6)
- 2011年03月21日 [已被偷窥 4,843 次]
字符串转换成多行
CREATE TABLE t_str_row AS
SELECT id,
MAX(decode(rn, 1, col, NULL)) ||
MAX(decode(rn, 2, ‘,’ || col, NULL)) ||
MAX(decode(rn, 3, ‘,’ ||[……]
按 ‘ ITLife ’ 分类归档
字符串转换成多行
CREATE TABLE t_str_row AS
SELECT id,
MAX(decode(rn, 1, col, NULL)) ||
MAX(decode(rn, 2, ‘,’ || col, NULL)) ||
MAX(decode(rn, 3, ‘,’ ||[……]
字符串转换成多列
其实际上就是一个字符串拆分的问题。
CREATE TABLE t_str_col AS
SELECT ID,c1||’,’||c2||’,’||c3 AS c123
FROM t_col_str;
SELECT * FROM t_str_col;
1)s[……]
多行转换成字符串
CREATE TABLE t_row_str(
ID INT,
col VARCHAR2(10));
INSERT INTO t_row_str VALUES(1,’a’);
INSERT INTO t_row_str VALUES(1,’b’);
INSERT[……]
多列转换成字符串
CREATE TABLE t_col_str AS
SELECT * FROM t_col_row;
这个比较简单,用||或concat函数可以实现:
SELECT concat(‘a’,’b’) FROM dual;
1)|| OR concat
适用范围[……]
行转列
CREATE TABLE t_row_col AS
SELECT id, ‘c1’ cn, c1 cv
FROM t_col_row
UNION ALL
SELECT id, ‘c2’ cn, c2 cv
FROM t_col_row
UNION ALL
SELECT[……]
行列转换包括以下六种情况:
*列转行
*行转列
*多列转换成字符串
*多行转换成字符串
*字符串转换成多列
*字符串转换成多行
下面分别进行举例介绍。
首先声明一点,有些例子需要如下10g及以后才有的知识:
a。掌握model子句,
b。正则表达式
c。加强的层次查询[……]
申请QQ:http://freeqq2.qq.com:8080/1.shtmlhttp://freeqq2.qq.com/1.shtml
查询QQ是否有保护:
http://service.qq.com/psw/mo.shtml?psw_cs.htm
查询该号码申诉记录:
http://se[……]
QQ空间代码的使用方法和最新可用代码:
QQ空间代码使用方法:
1、进入自己空间,将你要的代码复制 “javascript:window.top.space_addItem(1,12736,0,80,0,0,93);”引号里就是一个完整的代码
2、将复制的代码粘贴到地址栏(就是输入网址的那个[……]
| 一 | 二 | 三 | 四 | 五 | 六 | 日 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 | ||||