Describe声明中的“Null”列是什么?

时间:2013-03-27 08:44:12

标签: sql oracle

“空”列在DESCRIBE的结果中的含义是什么?

前:

decribe table1;

Name                 Null       Type
------------------  ----------  ---------------
Number                          Number(5)
Name                            Varchar2(25)
DeptNo              NotNull     Number(5)

3 个答案:

答案 0 :(得分:4)

它会告诉您是否允许NULL作为此列中的值。

如果describe语句没有返回此列的值,则允许NULL值,如果返回NotNull,则不允许NULL值。

答案 1 :(得分:0)

USER_TAB_COLUMNS.NULLABLE包含' N'如果不允许将列设置为NULL,并且' Y'如果列可能设置为NULL。如果你想模拟DESCRIBE的行为,你的语句看起来应该是这样的:

select column_name as Name,
       CASE nullable WHEN 'N' THEN 'NotNull' WHEN 'Y' THEN NULL END AS NULLABLE,
       data_type || '(' || data_length || ')' as TYPE
  from user_tab_columns
  where table_name='EMP'

分享并享受。

答案 2 :(得分:0)

列名

的空值

您可以在创建新表时将列名称指定为“null-able”或不可为空。

CREATE TABLE table_name(col1 VARCHAR2(20) NULL ,col2 VARCHAR2(35) NOT NULL

如果您尝试为col2插入NULL值,您将收到错误消息[ORA-01400]。

但我们应该记住,这不像是一个关键的[主要,独特]。