oracle中,怎么计算两个时间点的分钟数?
oracle中,怎么计算两个时间点的分钟数?请高手指点,谢谢!oracle中,怎么计算两个时间点之间的分钟数?...
oracle中,怎么计算两个时间点的分钟数?
请高手指点,谢谢!
oracle中,怎么计算两个时间点之间的分钟数? 展开
请高手指点,谢谢!
oracle中,怎么计算两个时间点之间的分钟数? 展开
展开全部
SELECT (TIME1 - TIME2) * 34 * 60 FROM DUAL
这个是可乐所说的
但是这个结果其实并不准确
因为两个时间相减,是以一天为1个单位,得到分钟的小数都是约数
那么这么相减得到的结果就有点奇怪了
比如
SELECT (TO_DATE('2003/12/14 13:31:54', 'YYYY/MM/DD HH24:MI:SS') - TO_DATE('2003/12/14 13:28:54', 'YYYY/MM/DD HH24:MI:SS')) * 34 * 60 FROM DUAL
结果很奇怪 4.25。
我觉得如果需要准确的分钟
我给你提供几个函数吧,你自己考虑考虑怎么做
总不能什么东西都是现成的
对不?
TO_DATE('2003/12/14 13:28:54', 'YYYY/MM/DD HH24:MI:SS')
把字符串型转化成日期类型
TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS')
把日期类型转化成字符串类型
当然 也可以
TO_CHAR(TO_DATE('2003/12/14 13:28:54', 'YYYY/MM/DD HH24:MI:SS'), 'YYYY-MM-DD HH24:MI:SS')
就可以把格式为 2003/12/14 13:28:54
转化为 2003-12-14 13:28:54
当然 也可以只取其中的年
TO_CHAR(SYSDATE, 'YYYY')
或者 月
TO_CHAR(SYSDATE, 'MM')
或者年和月
TO_CHAR(SYSDATE, 'YYYY-MM')
等等都可以
特别提醒一下转化小时
TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS')
表示24小时计时
TO_CHAR(SYSDATE, 'YYYY/MM/DD HH12:MI:SS')
表示12小时计时
当然如果只取小时
TO_CHAR(SYSDATE, 'HH24')
TO_CHAR(SYSDATE, 'HH12')
也可以取年和日 TO_CHAR(SYSDATE, 'YYYY-DD')
不过这么取没有什么实际意义
那么我们下一步 考虑取出单独的一个月 或者分钟 或者小时
假设取分钟吧
TO_CHAR(SYSDATE, 'MI')
我们可以再利用一个函数转化
那就是把分钟的字符串转化成数字类型
TO_NUMBER
比如 TO_NUMBER('123')
结果就是123
TO_NUMBER('123') - TO_NUMBER('100')
结果就是100
TO_NUMBER(TO_CHAR(SYSDATE, 'MI'))
得到的就是数据库当前时间的分钟数
有了这些方法,如果确实需要在数据库中实现计算
那么自己综合利用吧
累死我了,有问题的话再说吧
这个是可乐所说的
但是这个结果其实并不准确
因为两个时间相减,是以一天为1个单位,得到分钟的小数都是约数
那么这么相减得到的结果就有点奇怪了
比如
SELECT (TO_DATE('2003/12/14 13:31:54', 'YYYY/MM/DD HH24:MI:SS') - TO_DATE('2003/12/14 13:28:54', 'YYYY/MM/DD HH24:MI:SS')) * 34 * 60 FROM DUAL
结果很奇怪 4.25。
我觉得如果需要准确的分钟
我给你提供几个函数吧,你自己考虑考虑怎么做
总不能什么东西都是现成的
对不?
TO_DATE('2003/12/14 13:28:54', 'YYYY/MM/DD HH24:MI:SS')
把字符串型转化成日期类型
TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS')
把日期类型转化成字符串类型
当然 也可以
TO_CHAR(TO_DATE('2003/12/14 13:28:54', 'YYYY/MM/DD HH24:MI:SS'), 'YYYY-MM-DD HH24:MI:SS')
就可以把格式为 2003/12/14 13:28:54
转化为 2003-12-14 13:28:54
当然 也可以只取其中的年
TO_CHAR(SYSDATE, 'YYYY')
或者 月
TO_CHAR(SYSDATE, 'MM')
或者年和月
TO_CHAR(SYSDATE, 'YYYY-MM')
等等都可以
特别提醒一下转化小时
TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS')
表示24小时计时
TO_CHAR(SYSDATE, 'YYYY/MM/DD HH12:MI:SS')
表示12小时计时
当然如果只取小时
TO_CHAR(SYSDATE, 'HH24')
TO_CHAR(SYSDATE, 'HH12')
也可以取年和日 TO_CHAR(SYSDATE, 'YYYY-DD')
不过这么取没有什么实际意义
那么我们下一步 考虑取出单独的一个月 或者分钟 或者小时
假设取分钟吧
TO_CHAR(SYSDATE, 'MI')
我们可以再利用一个函数转化
那就是把分钟的字符串转化成数字类型
TO_NUMBER
比如 TO_NUMBER('123')
结果就是123
TO_NUMBER('123') - TO_NUMBER('100')
结果就是100
TO_NUMBER(TO_CHAR(SYSDATE, 'MI'))
得到的就是数据库当前时间的分钟数
有了这些方法,如果确实需要在数据库中实现计算
那么自己综合利用吧
累死我了,有问题的话再说吧
展开全部
直接将两个时间点相减即可,不过得到的是天数,乘以24再乘以60就是分钟
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
months_between(date1,date2)*24*60
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你不会找个数据库论坛问啊,跑这问这么专业的问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询