mysql 数据类型仅存储月份和年份

2021-12-26 00:00:00 sql mysql database-design

我正在编写一个 php 应用程序,它将在 MySQL 关系数据库中存储 STUDENT 数据.我试图找到最好的方式/数据类型来存储没有一天的月份和年份.我不知道我是否应该将它存储为 DATE 并以某种方式使用 php 将这一天存储为第 1 天,还是使用我目前不熟悉的其他数据类型.理想情况下,我不想存储一天,因为这一天不会总是相同的,如果将来一天发生变化,则需要更改 php 源代码.

I'm writing a php application that will store STUDENT data in a MySQL relational database. I'm trying to find the best way/datatype to store a month and year together without the day. I don't know whether I should just store it as a DATE and use php someway to just store the day as the 1st or use a different datatype that I'm not currently familiar with. Ideally, I do not want to store a day, because the day will not always be the same and would require changing php source code if the day changed in the future.

为了更多的背景信息,我正在存储一个 STUDENT 的 INTENT_TO_GRAD.客户似乎只想将此信息作为报告的参考或视觉效果,而不是将其用于数据操作.换句话说,此数据的唯一功能要求是在报告中显示.

Just for more background info, I'm storing a STUDENT's INTENT_TO_GRAD. The client seems to only want this information as a reference or a visual for a report as opposed to using it for data manipulation. In other words, the only functional requirement for this data is to be displayed in a report.

推荐答案

何必呢?只需将它存储为一个完整的日期(也许总是使用第一个作为日期)并使用数据库函数 MONTH()YEAR() 如果您只需要其中的一部分.这使得使用该字段变得更加容易,因为您仍然可以进行范围查询等.

Why bother? Just store it as a complete date (perhaps always using the first as the day) and use the database functions MONTH() and YEAR() if you only need part of it. This makes using that field much easier as you can still do range queries, etc.

相关文章