将 DECIMAL 小时数转换为 Hours:Minutes SQL SELECT(没有函数和声明)

Convert DECIMAL hours to Hours:Minutes SQL SELECT (without Functions and Declare)

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

我试过 select 和 SUBSTR 但在那种情况下我失去了 0 值。 我只想要没有声明和功能的纯 SELECT!!!拜托,我不能使用那些!

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

在此先感谢您的帮助。

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

concat(concat(lpad( floor( (value - floor(value))*60), 2, '0'), ':'),
       lpad(mod(floor(value), 2, '0'))
      )

当然,如果你只想要一个“0”,你也可以在小时内只填充一个字符。