【发布时间】:2019-06-08 17:32:09
【问题描述】:
我有一些用户上传的数据,需要根据用户选择的时间段进行存储和排序。周期应该只支持月-年或季,没有别的,类似如下:
+----+---------+-------+
| 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 年第一季度,就会使用该数据类型,但是我无法找到这样的数据类型。我可能可以使用两列来支持季度日期,另一列用于月份,最后一个用于年度,但这感觉不是一个好方法。
有什么想法吗?
【问题讨论】:
-
您是在寻找可以将
2018-Q3转换为2018-01-01 - 2018-03-31的SQL 计算,还是我不理解这个问题? -
两个日期,分隔期间的开始和结束,可能是您最好的选择;任何替代方案都可能最终涉及在查询中间解析数据(不是让自己陷入的好情况)。如果您确实需要轻松/快速了解所表示的周期类型,也可以使用指示周期类型的第三个字段。 另一种选择是将季度和月度数据分开表格。