10

我只想将年份存储在我的一个模型中。目前我只有一个名为年份类型日期的数据库字段,但它似乎想要一个完整的日期(yyyy-mm-dd)而不是一年。

最好的存储方法是什么?在日期字段中,但使用某种方式获取它来存储日期位(在这种情况下,如何?),或在 int 字段中,或字符串字段或什么?在某些方面使用 int 字段感觉不对,但它可能是最简单的。

4

2 回答 2

8

这取决于可能的日期范围。如果您的日期从 BC 到遥远的未来(负数到 4 位以上),那么存储一个整数将是最简单的(仅出于排序原因)。如果您想进行计算或比较日期,这也是正确的。

否则我可能会选择一个字符串。

使用日期字段使用 1 月 1 日并在显示时提取年份部分。

于 2008-10-14T18:42:25.563 回答
6

基于可维护性,我建议不要在日期字段中使用任意选择的日期。你会知道你已经任意选择了这个,但你的应用程序的后续维护者会吗?

我会选择一个 int ,因为这样你就不会存储除了你想要存储的东西之外的任何东西,而且它的含义不会有太多的混淆。

于 2008-10-14T20:19:44.870 回答