sql server语言 - 是否可以在数据库中为datetime数据类型设置NULL值?



我有这个表设备活动表

CREATE TABLE EqpActivityTBL
(
    EqpAct_ID              INT PRIMARY KEY IDENTITY(1, 1),
    EqpAct_BorrowDateTime  DATETIME,
    EqpAct_ReturnDateTime  DATETIME,
    EqpAct_Room            VARCHAR(50),
    SysUser_ID             INT FOREIGN KEY REFERENCES SysUserTBL,
    DeptMember_ID          INT FOREIGN KEY REFERENCES DeptMemberTBL,
    Eqp_ID                 INT FOREIGN KEY REFERENCES EqpTBL,
    EqpAct_Status          VARCHAR(50)
)

可以看到,我有一个EqpAct_ReturnDate列。一旦设备被返回,它将有一个日期值。但如果它没有返回或可能被销毁或可能发生了不好的事情(发送到黑洞可能),我可以在该列中插入一个NULL值吗?它有一个datetime数据类型。我想在这里展示一些东西没有返回。我正在尽力避免在其他数据类型上使用NULL值。

底线是:在datetime上有一个NULL值是好的吗?

Thanks in advance

是的,这很好。空值代表一个缺失的值,比使用一些神奇的日期值更好。

使用可以处理null的字段可能会略微降低性能,因此您应该禁止对于不应该为null的字段使用

使用null值是可以的,但是这会增加代码开销(用于检查null)…或者,您可以保持默认值,如01-01-1900。

答案是肯定的,在你的datetime格式中可以允许null

只是你需要写一些额外的代码来检查null(以避免null引用错误)。相反,您可以将其保留为默认值,就像它将使用诸如19:00:00(或其他任何值)这样,这样您就知道它是默认值。这里不需要解析。

我问:DATETIME是一个8字节的数据类型。您可以使该列为空,但它是固定宽度的数据类型。不是吗?

相关内容

  • 没有找到相关文章

最新更新