将DB2 SQL Decimal转换为时间我需要将Decimal转换为time。我有一个十进制时间字段,其中包含如下数据:
123490 --12:34:90
4506 --00:45:06
171205 --17:12:05
等
我想转换成时间格式,然后我计算两个时间列之间的最小
有没有办法在select语句中使用SQL命令或DB2逻辑来做到这一点?
发布于 2018-06-29 05:19:13
要将其转换为有效的时间格式,您必须执行一些字符串操作,例如
cast( substr( right( '00' || '123456', 6) ,1,2) || ':' || substr( right( '00' || '123456', 6) ,3,2) || ':' || substr( right( '00' || '123456', 6) ,5,2) as time)
其中123456是您的小数。这也适用于您的4506示例。当然,如果您希望每次都添加"00“,也可以使用case语句。
为了计算分钟数的差值,可能还有其他的计算选项。您可以查看minutes_between function provided by Db2 11.1
https://stackoverflow.com/questions/51080212
复制相似问题