行列轉換sql
CREATE OR REPLACE TYPE TYPE_IN IS TABLE OF NUMBER;
CREATE OR REPLACE FUNCTION FUN_TO_T_IN (P_IN VARCHAR2) RETURN T_IN AS
V_RETURN T_IN DEFAULT T_IN();
V_IN VARCHAR2(32767);
V_COUNT NUMBER DEFAULT 0;
BEGIN
V_IN := REPLACE(P_IN || ',', CHR(10), '');
WHILE(INSTR(V_IN, ',') > 0) LOOP
V_RETURN.EXTEND;
V_COUNT := V_COUNT + 1;
V_RETURN(V_COUNT) := SUBSTR(V_IN, 1, INSTR(V_IN, ',') - 1);
V_IN := SUBSTR(V_IN, INSTR(V_IN, ',') + 1);
END LOOP;
RETURN V_RETURN;
END;
測試如下:
SQL> select * from table(select fun_to_t_in('1,2,3,4') from dual) ;
COLUMN_VALUE
------------
1
2
3
4
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199859/viewspace-178865/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql server 行列轉換SQLServer
- sql server行列轉換案例SQLServer
- 【SQL 學習】行列轉換SQL
- 【SQL】行列轉換方法示例SQL
- sql 實現表的行列轉換SQL
- Oracle--SQL行列轉換實戰OracleSQL
- SQL Server中行列轉換 Pivot UnPivotSQLServer
- 行列轉換
- SQL Server 實現行列(縱橫表)轉換SQLServer
- Kettle行列轉換
- 偽行列轉換!
- SQL Server 2005之PIVOT/UNPIVOT行列轉換(轉)SQLServer
- 【SQL 分析函式】wm_concat 行列轉換SQL函式
- 行列轉換 交叉表 (轉)
- Oracle-行列轉換Oracle
- MySQL行列轉換拼接MySql
- 行列轉換之大全~~~
- oracle行列轉換-多行轉換成字串Oracle字串
- 行列轉換,列行轉換統計
- oracle行列轉換-行轉列Oracle
- oracle行列轉換-列轉行Oracle
- mysql行列轉換詳解MySql
- Oracle 行列轉換 經典Oracle
- Oracle 行列轉換總結Oracle
- Oracle 行列轉換小結Oracle
- Oracle行列轉換總結Oracle
- Shell練習 行列轉換
- 複雜的行列轉換
- oracle行列轉換-字串轉換成多列Oracle字串
- oracle行列轉換-多列轉換成字串Oracle字串
- oracle11g pivot 行列轉換 SQL Server 2005OracleSQLServer
- 記錄一個行列轉換
- 通用的行列轉換的方法
- 行列轉換問題總結
- oracle和mysql的行列轉換OracleMySql
- 行列轉換的一個例子
- 在SQL Server 2005中實現表的行列轉換SQLServer
- SQL2000和2005下行列轉換例項SQL