Sql 如何创建用于标记夏令时额外时间的唯一值?

Sql 如何创建用于标记夏令时额外时间的唯一值?,sql,postgresql,pentaho,Sql,Postgresql,Pentaho,我需要管理夏令时数据,因此在我的表中重复两次的小时数或缺少该特定小时的数据的小时数需要使用唯一值进行编码,以使我了解夏令时小时对应的小时数。我正在Pentaho Kettle中尝试这样做如果您需要序列或时间序列,请基于UTC 您的要求存在冲突,因为切换日的夏令时时间没有清晰的顺序,仍然会自动映射到24小时时钟 如果使用序列号,则切换日的记录数最终为23或25条,这意味着您需要自定义回UTC时间的映射,以便在3小时后继续工作。对于任何类型的时间序列,UTC都更方便且不易出错 如果你一天24小时都在

我需要管理夏令时数据,因此在我的表中重复两次的小时数或缺少该特定小时的数据的小时数需要使用唯一值进行编码,以使我了解夏令时小时对应的小时数。我正在Pentaho Kettle中尝试这样做

如果您需要序列或时间序列,请基于UTC 您的要求存在冲突,因为切换日的夏令时时间没有清晰的顺序,仍然会自动映射到24小时时钟

如果使用序列号,则切换日的记录数最终为23或25条,这意味着您需要自定义回UTC时间的映射,以便在3小时后继续工作。对于任何类型的时间序列,UTC都更方便且不易出错

如果你一天24小时都在工作,并且放松了工作顺序,那么你就需要为春天失去的一小时插入2.0,为秋天插入2.1和2.2。但这只会增加复杂性:

  • 虚拟2.0记录不能有与其关联的活动(根据定义,它被完全跳过),如果有,它将在您尝试使用它的任何地方中断日期解析
  • 2.1和2.2记录至少有助于您了解哪些活动首先发生,但您需要在任何地方对这种情况进行自定义编码,根据UTC时间戳拆分和合并双小时记录。。。注意到这里的模式了吗

向我们展示一些示例数据。我粘贴了一张图片…表格来自提供商,我正在尝试更改它。如您所见,当从常规时间过渡到夏时制时,IDHG和IDHR列将显示彼此之间的差异。每个数字按顺序表示从午夜开始的特定小时,称为小时1。添加UTC时间就可以了。IDHG表示夏令时的小时数,实际上一年两次,您将看到它们加倍或不出现。IDHR是一个累进的小时计数,和夏令时无关。我已经在使用UTC,我在另一个专栏中有它,我们正在使用意大利时间戳,所以UTC是不够的