数据库:如何存储未知日期与尚未发生的日期

时间:2012-05-06 11:17:09

标签: mysql

我在MySQL中有一个表DATE的字段用于存储某些日期,我有另一个表,其中我有一个类型为SMALLINT的字段,仅存储一年。

现在我需要区分尚未发生的日期(或年份)尚未发生的日期(或年份)。非常简单的未知值应为NULL。但有没有什么建议可以用来存储我提到的类型尚未发生的日期?

我非常确定在1000之前不会使用任何日期/年,所以我可以使用例如0000-01-01。有没有更好/推荐的解决方案?

编辑只需阅读DATE类型"支持的范围为' 1000-01-01'到' 9999-12-31'。"所以我必须使用1000-01-01而不是0000-01-01

1 个答案:

答案 0 :(得分:2)

听起来您正在尝试使用一列来存储两个独立的数据位。无论某人是死了还是活着(实际上是一个状态字段)以及他们死亡的日期都是单独的信息。因此,我建议你单独存储它们。无论某人是否活着或死亡而没有他们的死亡日期,死亡日期在任何一种情况下均为NULL。我不会使用日期字段来确定它们是否已经死亡。因此,我建议使用TINYINT(或BOOL)列来存储它们是否存活以及它们的死亡日期是否为NULL的DATE字段。