1

结果中的“Null”列是什么意思DESCRIBE

前任:

decribe table1;

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

3 回答 3

4

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

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

于 2013-03-27T08:45:08.683 回答
0

列名的空值

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

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

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

但我们应该记住,这不像 key[primary,unique]。

于 2013-03-28T10:53:48.107 回答
0

如果不允许将列设置为 NULL,则 USER_TAB_COLUMNS.NULLABLE 包含“N”,如果允许将列设置为 NULL,则包含“Y”。如果您想对 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'

分享和享受。

于 2013-03-27T11:07:26.043 回答