2011-03-31 28 views
0

有時我會在輸出中得到一個破折號,但我被告知它不是null,那它是什麼?在oracle輸出中' - '的含義是什麼?

選擇標題,訂單號,州 客戶C,的OrderItems O,書籍b 其中b.ISBN = O.ISBN(+) 順序由標題

 
CUSTOMERS: 
Column Name Data Type Nullable Default Primary Key 
CUSTOMER# NUMBER(4,0) No - 1 
LASTNAME VARCHAR2(10) Yes - - 
FIRSTNAME VARCHAR2(10) Yes - - 
ADDRESS VARCHAR2(20) Yes - - 
CITY VARCHAR2(12) Yes - - 
STATE VARCHAR2(2) Yes - - 
ZIP VARCHAR2(5) Yes - - 
REFERRED NUMBER(4,0) Yes - - 
+0

什麼列類型返回破折號? - 你可以發表表格ddl和查詢嗎? – Richard 2011-03-31 20:55:26

+0

SEE http://stackoverflow.com/questions/5426177/outer-join-help-in-oracle – user490735 2011-03-31 21:46:19

+0

你用什麼工具來運行查詢?蟾蜍? SQL Developer?在SQL * Plus?它看起來像你的工具正在用輸出中的「 - 」替換NULL。 – 2011-04-01 05:42:30

回答

0
如果選擇

' - '從雙重,輸出將是「 - 」。

如果這不是您正在尋找的答案,請考慮發佈您的查詢以及可能的問題表的DDL。

我同意user490735,它看起來像他的鏈接有答案。此外,ANSI連接語法更容易閱讀(至少對我而言)。

短劃線似乎是外連接中空列的佔位符。作爲一個長鏡頭,如果可以爲空的列的默認值實際上是' - '(我認爲它不是),那麼你將在你的查詢結果中得到破折號。

+0

已發佈------------------------------------------------ ------------------ – user490735 2011-03-31 22:09:17

0

看起來您發佈了「描述」的輸出,而不是查詢的輸出。這些描述僅僅告訴你,沒有任何列的默認值,哪些列不是主鍵的一部分。

+0

查詢的輸出在我上面評論的鏈接中。 – user490735 2011-04-07 21:14:23

相關問題