我在MySQL中有一个表DATE
的字段用于存储某些日期,我有另一个表,其中我有一个类型为SMALLINT
的字段,仅存储一年。
现在我需要区分尚未发生的日期(或年份)尚未发生的日期(或年份)。非常简单的未知值应为NULL
。但有没有什么建议可以用来存储我提到的类型尚未发生的日期?
我非常确定在1000之前不会使用任何日期/年,所以我可以使用例如0000-01-01
。有没有更好/推荐的解决方案?
编辑只需阅读DATE
类型"支持的范围为' 1000-01-01'到' 9999-12-31'。"所以我必须使用1000-01-01
而不是0000-01-01
。
答案 0 :(得分:2)
听起来您正在尝试使用一列来存储两个独立的数据位。无论某人是死了还是活着(实际上是一个状态字段)以及他们死亡的日期都是单独的信息。因此,我建议你单独存储它们。无论某人是否活着或死亡而没有他们的死亡日期,死亡日期在任何一种情况下均为NULL。我不会使用日期字段来确定它们是否已经死亡。因此,我建议使用TINYINT(或BOOL)列来存储它们是否存活以及它们的死亡日期是否为NULL的DATE字段。