programing

명령 프롬프트에서 SELECT 쿼리의 출력을 어떻게 확인합니까?

kingscode 2023. 7. 20. 22:53
반응형

명령 프롬프트에서 SELECT 쿼리의 출력을 어떻게 확인합니까?

나는 간단한 것을 실행했습니다.select명령 프롬프트에서 쿼리하지만 출력 행이 한 줄로 오지 않습니다.아래 참조:

SQL> set pagesize 2000
SQL> select * from xtern_empl_rpt ;

EMP LAST_NAME
--- --------------------------------------------------
FIRST_NAME                                         SSN
-------------------------------------------------- ---------
EMAIL_ADDR
--------------------------------------------------------------------------------

YEARS_OF_SERVICE
----------------
001 Hutt
Jabba                                              896743856
jabba@thecompany.com
              18

002 Simpson
Homer                                              382947382
homer@thecompany.com
              20

003 Kent
Clark                                              082736194
superman@thecompany.com
               5

004 Kid
Billy                                              928743627
billythkid@thecompany.com
               9

005 Stranger
Perfect                                            389209831
nobody@thecompany.com
              23

006 Zoidberg
Dr                                                 094510283
crustacean@thecompany.com
               1


6 rows selected.

SQL>

각 행을 한 줄로 만드는 것을 도와주시겠습니까?

편집

아래를 시도해 보았지만, 아직도 예쁘게 나오지 않았습니다.

SQL> SET LINESIZE 4000
SQL> select * from xtern_empl_rpt ;

EMP LAST_NAME                                          FIRST_NAME
                          SSN       EMAIL_ADDR
                                                         YEARS_OF_SERVICE
--- -------------------------------------------------- -------------------------
------------------------- --------- --------------------------------------------
-------------------------------------------------------- ----------------
001 Hutt                                               Jabba
                          896743856 jabba@thecompany.com
                                                                       18
002 Simpson                                            Homer
                          382947382 homer@thecompany.com
                                                                       20
003 Kent                                               Clark
                          082736194 superman@thecompany.com
                                                                        5
004 Kid                                                Billy
                          928743627 billythkid@thecompany.com
                                                                        9
005 Stranger                                           Perfect
                          389209831 nobody@thecompany.com
                                                                       23
006 Zoidberg                                           Dr
                          094510283 crustacean@thecompany.com
                                                                        1

6 rows selected.

SQL>

열 너비를 화면에 맞게 설정

예:

column EMAIL_ADDR format a30 

여기서 a는 열 너비입니다.WRA를 사용하여 열을 감쌀 수 있습니다(예:

column EMAIL_ADDR format a30 WRA

또는TRU자르기,WOR단어의 경계를 깨다

예:

SQL> select * from emp;

        ID FIRST_NAME
---------- ------------------------------
LAST_NAME
------------------------------
EMAIL_ADDR
--------------------------------------------------
         1 Dazza
Smith
d_dazzal@dazzal.com

따라서 email_addr이 300자로 패딩되었기 때문에 출력을 읽기가 조금 까다롭습니다(제 표에서는 sql*plus가 출력을 포맷하는 데 사용하는 varchar2(300)로 정의되었습니다).

먼저 적절한 라인 크기를 설정합니다.

   SQL> set linesize 100 

이제 한 줄에 맞도록 열을 설정합니다(라인 크기는 총 열 너비보다 커야 함).

   SQL> column email_addr format a30 
   SQL> column last_name format a20 
   SQL> column first_name format a20 
   SQL> select * from emp;

            ID FIRST_NAME           LAST_NAME            EMAIL_ADDR
    ---------- -------------------- -------------------- ------------------------------
             1 Dazza                Smith                d_dazzal@dazzal.com

그래서 이제 기둥들은 적당한 크기의 단자에 쉽게 들어맞습니다.

당신의 경우에는first_name그리고.last_namevarchar2(50)이지만 그 안에 있는 데이터는 훨씬 더 작기 때문에 저는 먼저 시작하겠습니다.column first_name format a15(last_name도 동일).이메일로, 당신의 컬럼은 varchar2(100)이지만 최대 크기 출력은 25자였습니다.column email format a25우선 첫째로

이 경우 다음과 같은 출력이 표시됩니다(라인 크기가 충분히 큰 경우).

SQL> select * from xtern_empl_rpt ;

EMP LAST_NAME       FIRST_NAME     SSN       EMAIL_ADDR                YEARS_OF_SERVICE
--- --------------- -------------- --------- ------------------------- ----------------
001 Hutt            Jabba          896743856 jabba@thecompany.com      18

요망대로WRA TRU그리고.WOR.WRA기본값이므로 사용할 필요는 없지만 다음과 같이 설정합니다.

SQL> select * from test;

A
--------------------------------------
THIS IS A SIMPLE WRAPPING TEST

하지만 나는 이것을 10자 너비로 포맷하고 싶었습니다.

S

QL> col a format a10 WRA
SQL> select * from test;

A
----------
THIS IS A
SIMPLE WRA
PPING TEST

WRA즉, 단어 중간에 있든 없든 상관없이 문자열을 10자로 자릅니다. 단어 끝 부분만 끊으려면(가능하면 단어 > 10자는 끊어야 함):

SQL> col a format a10 WOR
SQL> select * from test;

A
----------
THIS IS A
SIMPLE
WRAPPING
TEST

이제 출력은 단어 경계에서 깨지고 반드시 10자로 깨지는 것은 아닙니다.

만약 우리가 처음 10자만 원했고 줄바꿈은 하지 않았으면, 우리는 사용할 수 있었습니다.TRU:

SQL> col a format a10 TRU
SQL> select * from test;

A
----------
THIS IS A

이렇게 하면 문제가 해결됩니다.

set wrap off 

다음과 같은 방법을 사용해 보십시오.

SET LINESIZE 120

(조정)120필요한 최대 너비까지.)

선택 쿼리를 실행하기 전에 다음 쿼리를 실행하여 선택 쿼리의 출력을 CSV 형식으로 가져옵니다.그러면 출력이 CSV 형식으로 표시됩니다.

마크업 csv를 설정합니다;

언급URL : https://stackoverflow.com/questions/14547501/how-to-prettify-the-output-coming-from-the-select-query-in-command-prompt

반응형