我正在从 DB2/z 中的一个表中查询一些数据,该表保存每小时的数据,但偶尔会跳过几个小时(如果客户端不发送该小时的详细信息)。
由于我将数据直接输入到需要查询以获取轴数据的图表工具中,因此它有时会缺少时间轴上的值并且看起来很难看:
23.00 |===
22.00 |=====
14.00 |============
01.00 |==
00.00 |=
+--------------------
我们已经禁止添加任何辅助表,例如保存所有时间的 24 行表,因此我需要在 DB2 中进行查询,该查询将返回一天中的所有时间,而无需可靠的后备表。我一直在使用可怕的:
select '00.00' from sysibm.sysdummy1
union all select '01.00' from sysibm.sysdummy1
union all select '02.00' from sysibm.sysdummy1
union all select '03.00' from sysibm.sysdummy1
: : :
union all select '23.00' from sysibm.sysdummy1
order by 1
这是我见过的最笨拙的解决方案,所以我宁愿有一些更清洁的东西。
我在下面发布了我自己的解决方案,但我愿意接受任何更简单或更优雅的方法。