Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm cách nào để kiểm tra đầu ra đến từ truy vấn SELECT trong dấu nhắc lệnh?

đặt chiều rộng cột của bạn để vừa với màn hình

ví dụ:

column EMAIL_ADDR format a30 

trong đó a là chiều rộng cột hte. bạn có thể sử dụng WRA để bọc cột

column EMAIL_ADDR format a30 WRA

hoặc TRU để cắt ngắn, WOR phá vỡ ranh giới từ ngữ

ví dụ:

SQL> select * from emp;

        ID FIRST_NAME
---------- ------------------------------
LAST_NAME
------------------------------
EMAIL_ADDR
--------------------------------------------------
         1 Dazza
Smith
[email protected]

vì vậy đầu ra hơi khó đọc vì email_addr được đệm thành 300 ký tự (vì bảng của tôi đã định nghĩa nó là varchar2 (300) mà sql * plus sử dụng để định dạng đầu ra).

trước tiên hãy đặt một kích thước dòng thích hợp:

   SQL> set linesize 100 

bây giờ hãy đặt các cột để chúng vừa vặn trên một dòng (kích thước dòng phải lớn hơn tổng chiều rộng cột):

   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                [email protected]

vì vậy bây giờ các cột vừa vặn dễ dàng với một thiết bị đầu cuối có kích thước hợp lý.

trong trường hợp của bạn first_namelast_name là varchar2 (50) nhưng dữ liệu trong chúng nhỏ hơn nhiều, vì vậy tôi sẽ bắt đầu với định dạng column first_name format a15 (tương tự cho last_name). với email, cột của bạn là varchar2 (100) nhưng đầu ra có kích thước tối đa là 25 ký tự, vì vậy hãy đặt column email format a25 cho người mới bắt đầu.

nếu bạn đã làm điều đó, bạn sẽ nhận được đầu ra (nếu kích thước dòng đủ cao) như:

SQL> select * from xtern_empl_rpt ;

EMP LAST_NAME       FIRST_NAME     SSN       EMAIL_ADDR                YEARS_OF_SERVICE
--- --------------- -------------- --------- ------------------------- ----------------
001 Hutt            Jabba          896743856 [email protected]      18

cuối cùng theo yêu cầu. WRA TRUWOR . WRA là mặc định theo cách này, vì vậy bạn không phải sử dụng nó nhưng giả sử chúng tôi đã có:

SQL> select * from test;

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

nhưng tôi muốn định dạng này là chiều rộng 10 ký tự:

S

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

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

WRA có nghĩa là chỉ cắt chuỗi ở 10 ký tự, bất kể chúng ta có đang ở giữa một từ hay không. nếu chúng tôi CHỈ muốn ngắt ở phần cuối từ (nếu có thể từ> 10 vẫn cần ngắt):

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

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

bây giờ đầu ra bị phá vỡ ở ranh giới từ và không nhất thiết phải ở 10 ký tự.

nếu chúng tôi chỉ muốn có 10 ký tự đầu tiên và không có dòng bao quanh, chúng tôi có thể sử dụng TRU :

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

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn hàng mới nhất cho mỗi nhóm từ oracle

  2. 19.3 PDB Đóng ORA-65107 ORA-16078

  3. Oracle tương đương với gợi ý truy vấn ROWLOCK, UPDLOCK, READPAST

  4. Ví dụ thu thập hàng loạt Oracle bằng cách sử dụng đối tượng loại Rowtype con trỏ

  5. Oracle lấy khóa ngoại