【发布时间】:2020-05-09 13:58:41
【问题描述】:
我有一个表,其中列名类似于年份 "2020-05","2020-06", "2020-07" 等,以及许多年作为列。我只需要从该表中选择当前月份、下个月和第三个月的列。(DB : PostgreSQL Version 11)
但由于列名是“TEXT”,格式为 YYYY-MM,我如何才能从该表中仅选择当前月份和未来 2 个月而不对列名进行硬编码。
必需的选择语句是这样的,该表包含上面屏幕截图中的 14 个月数据,例如 DATES 作为列。从这里我想要当前月份和接下来的 2 个月列以及它们的数据,如下所示。
从静态中选择“2020-05”、“2020-06”、“2020-07” -- 选择当前月份和接下来的 2 个月 所需输出:
【问题讨论】:
-
您应该真正规范您的数据库设计并将每个日期存储在单独的行中。您当前的结构使简单的任务变得非常复杂。
-
表定义和样本数据最好显示为formatted text。请参阅here,了解有关如何创建漂亮表格的一些提示。
-
这些列的内容到底是什么?你不也想看看吗?
-
@a_horse_with_no_name 有一些文本值,基本上是各种格式的数字,如 1000 美元等。在这些列中。是的,我也需要查看数据。我就是这样寻找。
标签: postgresql