oracle query使用','连接所有列。

时间:2015-06-17 20:45:44

标签: sql oracle formatting

我正在使用HR Schema,我想将所有列连接到','每一行。

我的代码是:

SELECT employee_id || ',' || first_name || ',' || last_name || ',' || email || ',' || phone_number || ','|| job_id || ',' || manager_id || ',' || hire_date || ','
|| salary || ',' || commission_pct || ',' || department_id

THE_OUTPUT FROM employees;

有没有更好的方法(例如使用listagg函数)? 我想如果表格有1000列我不能做上面的

非常感谢

1 个答案:

答案 0 :(得分:1)

  

我想将所有列连接到','每一行

然后使用 SQL * Plus 命令生成所需的输出。这完全是关于格式化输出。

  • SQL *加

例如,

SQL> SET colsep ,
SQL> SET pagesize 20
SQL> SET trimspool ON
SQL> SET linesize 200
SQL> SELECT * FROM hr.employees WHERE ROWNUM <=10;

EMPLOYEE_ID,FIRST_NAME          ,LAST_NAME                ,EMAIL                    ,PHONE_NUMBER     ,HIRE_DATE,JOB_ID    ,    SALARY,COMMISSION_PCT,MANAGER_ID,DEPARTMENT_ID
-----------,--------------------,-------------------------,-------------------------,--------------------,---------,----------,----------,--------------,----------,-------------
        100,Steven              ,King                     ,SKING                    ,515.123.4567        ,17-JUN-03,AD_PRES   ,     24000,              ,          ,           90
        101,Neena               ,Kochhar                  ,NKOCHHAR                 ,515.123.4568        ,21-SEP-05,AD_VP     ,     17000,              ,       100,           90
        102,Lex                 ,De Haan                  ,LDEHAAN                  ,515.123.4569        ,13-JAN-01,AD_VP     ,     17000,              ,       100,           90
        103,Alexander           ,Hunold                   ,AHUNOLD                  ,590.423.4567        ,03-JAN-06,IT_PROG   ,      9000,              ,       102,           60
        104,Bruce               ,Ernst                    ,BERNST                   ,590.423.4568        ,21-MAY-07,IT_PROG   ,      6000,              ,       103,           60
        105,David               ,Austin                   ,DAUSTIN                  ,590.423.4569        ,25-JUN-05,IT_PROG   ,      4800,              ,       103,           60
        106,Valli               ,Pataballa                ,VPATABAL                 ,590.423.4560        ,05-FEB-06,IT_PROG   ,      4800,              ,       103,           60
        107,Diana               ,Lorentz                  ,DLORENTZ                 ,590.423.5567        ,07-FEB-07,IT_PROG   ,      4200,              ,       103,           60
        108,Nancy               ,Greenberg                ,NGREENBE                 ,515.124.4569        ,17-AUG-02,FI_MGR    ,     12008,              ,       101,          100
        109,Daniel              ,Faviet                   ,DFAVIET                  ,515.124.4169        ,16-AUG-02,FI_ACCOUNT,      9000,              ,       108,          100

10 rows selected.

SQL>
  • SQL Developer Version 4.1之前

或者,您可以在 SQL Developer 中使用新的 /*csv*/ 提示

/*csv*/

例如,在我的 SQL Developer版本3.2.20.10

enter image description here

  • SQL Developer版本4.1

SQL Developer 4.1版中的新增功能,使用以下内容就像sqlplus命令一样运行并作为脚本运行。不需要查询中的提示。

SET SQLFORMAT csv