将十进制小时转换为小时:分钟SQL选择(不带函数和声明)

将十进制小时转换为小时:分钟SQL选择(不带函数和声明),sql,select,db2,decimal,date-formatting,Sql,Select,Db2,Decimal,Date Formatting,我有一个十进制字段,例如值为0.17,它是0小时10分钟,而不是17,因为17*60/100=10,2分钟 我想转换成以下格式的小时和分钟:0:10 我尝试使用SUBSTR选择,但在这种情况下我失去了0值。 我只想纯选择没有声明和函数!!!拜托,我不能用那些 我也看到了一些使用TO_DATE函数的示例,但这不是我需要的,因为它只是转换,而没有计算 提前感谢您的帮助。由于时间关系,我更喜欢00:10。可以使用LPAD执行此操作: 当然,如果您只需要一个0,您可以在小时内填充一个字符。castcol

我有一个十进制字段,例如值为0.17,它是0小时10分钟,而不是17,因为17*60/100=10,2分钟 我想转换成以下格式的小时和分钟:0:10

我尝试使用SUBSTR选择,但在这种情况下我失去了0值。 我只想纯选择没有声明和函数!!!拜托,我不能用那些

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

提前感谢您的帮助。

由于时间关系,我更喜欢00:10。可以使用LPAD执行此操作:


当然,如果您只需要一个0,您可以在小时内填充一个字符。

castcol as int或trunccol获取小时,modcol获取分钟,1*60/100获取分钟。您能提供完整答案吗?我得到的是分钟0的结果,这是不正确的!我不知道DB2是如何处理模的,也许还有另一个函数可以得到分数部分。col-trunccol也应该起作用。
concat(concat(lpad( floor( (value - floor(value))*60), 2, '0'), ':'),
       lpad(mod(floor(value), 2, '0'))
      )