可以表示 25 小时或更长时间的 DB2 列类型



我想知道一个 DB2 列类型,它可以表示 25 小时或更长时间,因为 TIME 的范围有限,为 0 到 24 小时。

通常,

持续时间存储为整数数据类型,表示适合您的精度要求的时间单位数。一个常见的例子是 Unix 时间,它是自 1970 年 1 月 1 日以来的秒数。

在内部,DB2 将持续时间(例如,当您从一个TIME值减去另一个值时(实现为DECIMAL,因此,如果您计划在 DB2 TIME 和持续时间值之间执行算术运算,那么这是一个不错的选择。引用手册:

持续时间表示小时、分钟和秒数,以十进制 (6,0( 数字表示。为了正确解释,数字必须具有 hhmmss. 格式,其中 hh 表示小时数,mm 表示分钟数,ss 表示秒数。

你需要

做的是实现一个UDT:用户定义类型。使用 UDT,可以对此数据类型执行操作。正如@mustaccio所说,最好的办法是将其实现为小数。

  • https://www.toadworld.com/platforms/ibmdb2/w/wiki/7675.user-defined-data-types-udt
  • http://www.ibm.com/support/knowledgecenter/SSEPGG_11.1.0/com.ibm.db2.luw.admin.structypes.doc/doc/c0006438.html

最新更新