oracle行列轉換-多列轉換成字串

pwz1688發表於2014-01-03

多列轉換字串可用||或concat函式。
表資料如下:

點選(此處)摺疊或開啟

  1. SQL> select * from t_col_row;

  2.         ID C1 C2 C3
  3. ---------- ---------- ---------- ----------

  4.          1 v11 v21 v31
  5.          2 v12 v22
  6.          3 v13     v33
  7.          4     v24 v34
  8.          5 v15
  9.          6         v35
  10.          7

  11. 已選擇7行。
多列轉換成字串
1)使用||

點選(此處)摺疊或開啟

  1. SQL> select id,c1||c2||c3 from t_col_row;

  2.         ID C1||C2||C3
  3. ---------- ------------------------------

  4.          1 v11v21v31
  5.          2 v12v22
  6.          3 v13v33
  7.          4 v24v34
  8.          5 v15
  9.          6 v35
  10.          7

  11. 已選擇7行。
2)使用concat函式,concat只能連線兩個字串,連線多個需要巢狀呼叫。

點選(此處)摺疊或開啟

  1. SQL> select id,concat(c1,c2,c3) c123 from t_col_row;
  2. select id,concat(c1,c2,c3) c123 from t_col_row
  3.           *
  4. 第 1 行出現錯誤:
  5. ORA-00909: 引數個數無效

  6. SQL> select id,concat(c1,concat(c2,c3)) c123 from t_col_row;

  7.         ID C123
  8. ---------- ------------------------------

  9.          1 v11v21v31
  10.          2 v12v22
  11.          3 v13v33
  12.          4 v24v34
  13.          5 v15
  14.          6 v35
  15.          7

  16. 已選擇7行。

多列進行字串連線時,使用||更方便些。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21251711/viewspace-1066826/,如需轉載,請註明出處,否則將追究法律責任。

相關文章