将十进制数转换为时间

时间:2019-06-06 08:07:48

标签: db2

如何将小数转换为时间。假设我将十进制数字2.56转换为时间02:33:36。

->创建表t1(COL1 INTEGER NOT NULL,COL2 DECIMAL(10,2));

->插入t1(col1,clo2)     值(1024,2.56),           (1024,4.23),           (1024,1.67),           (1024,0.56)

1 个答案:

答案 0 :(得分:0)

$ db2 "select i, j
  ,  time('00.00.00') 
     + int(j) hours 
     + int(mod(j,1)*60) minutes 
     + int(mod(mod(j,1)*60*60,60)) seconds as time
  from table( values(1024 , 2.56 ), (1024 , 4.23 )
                  , (1024 , 1.67 ), (1024 , 0.56 )
            ) a(i,j)"

I           J     TIME    
----------- ----- --------
       1024  2.56 02:33:36
       1024  4.23 04:13:48
       1024  1.67 01:40:12
       1024  0.56 00:33:36

  4 record(s) selected.

顺便说一句,您应该将时间值存储为TIME而不是DECIMAL的数据类型