要求求出两个日期之间的差,展示为时:分的格式
如 开始时间:2016/09/01 12:20:00
结束时间:2016/09/02 15:30:00
求这两个日期之间差几个小时几分钟,展示结果为 27:10
OBIEE中实现方法:
1、间隔计算:
使用BIEE自带函数TIMESTAMPDIFF(interval, expr, timestamp2)
interval 是指定的间隔。
有效值为:
SQL_TSI_SECOND,--秒
SQL_TSI_MINUTE, --分
SQL_TSI_HOUR, --小时
SQL_TSI_DAY, --天
SQL_TSI_WEEK, --周
SQL_TSI_MONTH, --月
SQL_TSI_QUARTER, --季度
SQL_TSI_YEAR--年
timestamp1 和 timestamp2 是任意有效的时间戳。
例如:
TIMESTAMPDIFF(SQL_TSI_HOUR,'2016/09/01 12:20:00','2016/09/02 15:30:00')
2、展示为时:分的格式
使用TIMESTAMPDIFF 分别计算出小时、分钟后把两个计算拼接起来,计算分钟的时候,除以60取余数
CAST(TIMESTAMPDIFF(SQL_TSI_HOUR,"Dim1"."开始时间","Dim1"."结束时间") as char) || ': ' ||
CAST(mod(TIMESTAMPDIFF(SQL_TSI_MINUTE,"Dim1"."开始时间","Dim1"."结束时间"),60) AS CHAR)
结果展示:
oracle计算两个时间之间的分钟差
select sysdate,
ROUND(TO_NUMBER(sysdate - to_date('2011-10-12 14:23:00','YYYY-MM-DD hh24:mi:ss')) * 24 * 60) from dual;