我有一列"持续时间",它包含治疗师与客户相处的时间。这总是以分钟为单位输入,因此如果时间为3小时,则输入为180。我想在查询中将其设置为3。这就是它从固定报告中报告的方式:总持续时间是输入的列,它是定义为int,null。我想在sql中为显示的"总持续时间"列进行此计算和格式化。
total_duration_num total_duration
10 0:10
120 2:00
30 0:30
5 0:05
60 1:00
实现这一点的一种方法是使用:
floor
函数在分钟除以60时向下取整(整小时(- CCD_ 2函数以获得在放入多少分钟之后的剩余分钟数;"整体";60分钟小时
lpad
函数,如果<10,这样你就可以看到:05而不是:5
查询如下所示:
select duration,
concat( floor(duration/60) , ':' , lpad(mod(duration,60),2,'0') ) as hrs_mins
from duration_table;
这是一个演示:http://sqlfiddle.com/#!9/a52b6c/1/0