如何将秒转换为下一整分钟?

时间:2014-10-15 09:40:43

标签: sql oracle

我将Oracle表中的时间使用量存储为秒数:

5
10
100
500

如何将秒数转换为分钟数,向上舍入到下一个最接近的分钟?对于我想得到的秒值:

1
1
2
9

2 个答案:

答案 0 :(得分:3)

假设您实际上正在使用Oracle,您可以使用the CEIL function来“舍入”您获得的小数分钟数除以60到下一个整数。

ceil(your_column/60)

所以有一些样本值:

select seconds, ceil(seconds/60) as minutes
from your_table
order by seconds;

   SECONDS    MINUTES
---------- ----------
         5          1 
        10          1 
       100          2 
       500          9 
      1800         30 

答案 1 :(得分:0)

你试图把它除以60并“截断”。遗憾的是,没有内置函数可以完全执行此操作,但仍可以使用trunc

SELECT CASE TRUNC(myseconds/60) WHEN myseconds/60 THEN myseconds/60
                                ELSE TRUNC(myseconds/60) + 1 
       END
FROM   my_table

编辑:
或者使用子查询以更优雅的形式:

SELECT CASE TRUNC(myminutes) WHEN myminutes THEN myminutes
                             ELSE TRUNC(myminutes) + 1 
           END
FROM   (SELECT myseconds/60 AS myminutes
        FROM   myable)