2013-04-12 12 views
0

我試圖在Oracle中設置連接列的寬度,但我不確定如何完成此操作。在Oracle SQL中設置連接列的寬度SELECT

我有這樣的事情(簡體):

SELECT t.first_name || ' ' || t.family_name "Trainer name" 
FROM trainer t 

的輸出如下:

Trainer name      
------------------------------------ 
Bill Gates       
Steve Jobs       
Isaac Asimov 

而且我試圖限制列寬,比方說,18個字符。我正在嘗試使用COLUMN

COLUMN t.first_name || ' ' || t.family_name FORMAT A18 

但這不起作用。該文檔說:「如果您在COLUMN命令中使用表達式,則必須正確輸入expr,因爲它顯示在SELECT命令中」。我究竟做錯了什麼?

回答

1

你別名列,所以你必須使用別名在column命令:

COLUMN "Trainer name" FORMAT A18 

SELECT t.first_name || ' ' || t.family_name "Trainer name" 
FROM trainer t; 

Trainer name 
------------------ 
Bill Gates 
Steve Jobs 
Isaac Asimov 

您可能會發現清潔器用戶一個簡單的別名和列標題,分離 - 有點 - 功能從顯示:

CLEAR COLUMNS 
COLUMN trainer_name FORMAT A18 HEADING "Trainer name" 

SELECT t.first_name || ' ' || t.family_name AS trainer_name 
FROM trainer t; 

Trainer name 
------------------ 
Bill Gates 
Steve Jobs 
Isaac Asimov 

無論哪種方式,如果連接的值超過18個字符,該值將換行到第二行。爲了避免這種情況,您必須輸入substr的值,這可能並不理想。

+0

我想這個問題,以及,但它並沒有爲我工作: - /我不知道爲什麼。 ... – samuelg0rd0n

+0

@ samuelg0rd0n - 你必須使用雙引號標識符來匹配案例,也許你做了'COLUMN「教練名稱''或其他什麼。避免它們的原因之一* 8-) –