将DECIMAL小时转换为小时:分钟SQL SELECT(无函数和声明)

时间:2018-03-20 09:40:15

标签: sql select db2 decimal date-formatting

我有十进制字段,例如值0.17(0小时10分钟不是17,因为17 * 60/100 = 10,2分钟) 我想以这种格式转换为小时和分钟: 0:10

我尝试使用SUBSTR进行选择,但在这种情况下我失去了0值。 我想只有没有声明和功能的纯SELECT!请不要用那些!

我在TO_DATE函数中也看到了一些例子,但这不是我需要的,因为它只是转换但没有计算。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

小时,我更喜欢00:10。您可以使用LPAD()

执行此操作
concat(concat(lpad( floor( (value - floor(value))*60), 2, '0'), ':'),
       lpad(mod(floor(value), 2, '0'))
      )

当然,如果你只想要一个“0”,你可以在几小时内填充一个角色。