在MySQL中存储MM-DD数据的最佳实践是什么?

时间:2011-11-26 16:20:21

标签: mysql

我想在MySQL中存储一些日期,但这些日期没有年份字段。 最好的方法是什么?

最好能在我的查询中使用这两个MySQL函数:DATE_SUB()DATE_ADD();因为我想查询覆盖当前MM-DD的日期范围。

ADD:

  1. 我100%控制输入和输出代码;
  2. 我连续两个MM-DD日期代表日期范围
  3. 我不打算通过这样做来节省空间,但我这样做只是因为在我的要求中我需要存储重要的MM-DD日期并返回涵盖当前MM-DD的日期范围,无论哪一年它现在,它就像一个“假日提醒”或类似的东西

2 个答案:

答案 0 :(得分:2)

如何使用date类型存储数据,然后只使用您需要的日期部分?通过这种方式,如果您将改变应用程序的行为,您可以因为您认为您的应用程序考虑未来(以及可能的未来更改)。此外,您将能够使用所有日期内置函数。

此外,只需几个月甚至几天以某种奇怪的方式存储,您甚至不会节省空间。

答案 1 :(得分:2)

如果您可以100%控制直接读取或写入此数据的所有代码,则可以使用普通DATE字段,并始终将年份设置为相同的常量值。

然后,您可以在查询中正常使用DATE_ADD()等,只要您返回其中一些日期,就必须省略年份。