【问题标题】:NULL sets default value or nullability?NULL 设置默认值或可空性?
【发布时间】:2017-10-06 12:39:08
【问题描述】:

CREATE TABLE 中,我看到现有表的以下内容:

[FooColumn] NUMERIC (19, 3) NULL,

我对 T-SQL 完全不熟悉,并且只是普通 SQL 的一个非常罕见的用户。 NULL 是否表示该字段默认为空,或者该字段可以为空?

例如以下是否有意义,意味着后一种情况是正确的,[FooColumn] NUMERIC (19, 3) NULL DEFAULT 1.5,

【问题讨论】:

    标签: sql tsql nullable create-table


    【解决方案1】:

    这意味着该字段可以为空。它将默认为 NULL。根据您的更新,创建一个默认为 1.5 并且也可以为空的小数字段:

    [FooColumn] NUMERIC (19, 3) DEFAULT 1.5 NULL,
    

    【讨论】:

      【解决方案2】:

      是的,如果下面单独提到它,则默认为 NULL:

      create table #footable1(foocolumn numeric(19,3) null)
      
      insert into #footable1 default values
      

      如果您提供明确的默认值,它将具有该值而不是 null

      create table #footable(foocolumn numeric(19,3) null default 1.3)
      
      insert into #footable default values
      

      你将得到 1.3 的结果

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-11
        • 1970-01-01
        • 1970-01-01
        • 2019-05-08
        • 2019-05-15
        • 2013-04-28
        • 2011-04-05
        • 2012-11-28
        相关资源
        最近更新 更多