繁体   English   中英

MySQL“空”日期是否有值(0001-01-01)

[英]Is there a value for MySQL “null” date (0001-01-01)

在我的数据库中,有一个不可为空的 Date 列。 当我没有提供日期时,该值显示为 0001-01-01。

但是,在客户端,我需要知道该列何时为空,为此我使用了一个愚蠢的条件:

if (Record.Year == 1)
{
   ///the column is empty, show "N/A" for date
}

没有比这更优雅的方式吗(不能更改数据库列)?

通过选择定义NOT NULL列,您告诉数据库,那里总是需要一个(可能是有效的)日期。 如果这不符合您的业务逻辑,那么您只有两种可能性:

  • 匹配业务逻辑和 DB model ( ALTER TABLE tablename MODIFY COLUMN... )
  • 忍受这场糟糕的比赛:这包括像“魔法值”这样的拐杖,这很可能会导致更多的麻烦。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM