我有一些用户上传的数据,需要根据用户选择的时间段对其进行存储和排序。该期间应仅支持月年或季度年,别无其他,类似于以下内容:
+----+---------+-------+
| id | period | data |
+----+---------+-------+
| 1 | 2018-09 | test1 |
| 2 | 2019-01 | test2 |
| 3 | 2018-Q3 | test3 |
| 4 | 2017-Q4 | test4 |
+----+---------+-------+
我最初是在寻找一种支持日期范围的数据类型,例如2018-01-01-2018-03-31,在这种情况下,只要用户选择2018年第一季度,就将使用该数据类型,但是我无法查找此类数据类型。我可能可以使用两列来支持季度日期,另一列用于月份,而最后一年用于年份,但这并不是一个好方法。
有什么想法吗?
答案 0 :(得分:0)
mysql提供了大量用于管理日期的函数...因此您可以简单地归档参考日期并使用mysql函数。
例如使用实际日期作为日期
select quarter(curdate ()), month(curdate ()), year(curdate())
通过这种方式,您可以避免存储计算范围..
https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html