oracle输出中' - '的含义是什么?

时间:2011-03-31 20:51:45

标签: oracle10g

有时我会在输出中得到一个破折号,但我被告知它不是空的,那么它是什么?

选择标题,订单#,STATE 来自客户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 -   - 

2 个答案:

答案 0 :(得分:0)

如果从dual中选择' - ',输出将为“ - ”。

如果这不是您正在寻找的答案,请考虑发布您的查询以及相关表格的DDL。

我同意user490735,看起来他的链接有答案。此外,ANSI连接语法更容易(至少对我来说)读取。

破折号似乎是外部联接中空列的占位符。作为一个长镜头,如果可空列的默认值实际上是' - '(我认为不是),那么你将在查询结果中得到破折号。

答案 1 :(得分:0)

看起来您发布了“describe”的输出,而不是查询的输出。 describe只是告诉您任何列都没有默认值,哪些列不是主键的一部分。